该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说明! 陈希章原文地址:http://www.cnblogs.com/chenxizhang/archive/2008/08/17/1269684.html原文标题:SQL Server中的日期类型 原文发表:2008/8/17 3:57:00 |
/*
1。中文版默认的格式是这样的 yyyy-mm-dd Thh:mm:ss.mmm,即在数据库里真正存放的格式
2。安装时可以指定
3。在验证用户输入的时候会有一些内置规则来确保输入的是正确的日期
具体说,以下都是可以接受的(在SQL Server 2005时,实际上会由NET CLR来检查)
mm/dd
mm-dd
yy-mm-dd
yyyy-mm-dd
yy/mm/dd
yyyy/mm/dd
*/
/*
在特定的场合下,可以自己先用Set DateFormat的方式指定一个格式,但这并不会影响数据库内部的存储方式
SET DATEFORMAT { format | @format_var }
format | @format_var
日期部分的顺序。可以是 Unicode,或者是转换为 Unicode 的 DBCS。有效参数包括 mdy、dmy、ymd、ydm、myd 和 dym。美国英语默认值是 mdy。
*/
SET DATEFORMAT mdy
GO
DECLARE @datevar datetime
SET @datevar = '1/7/2007'
SELECT @datevar
GO
SET DATEFORMAT ydm
GO
DECLARE @datevar datetime
SET @datevar = '07/3/3' --这里输入07/12/23就会出错
SELECT @datevar
GO
SET DATEFORMAT ymd
GO
DECLARE @datevar datetime
SET @datevar = '06/12/23' --这里输入06/23/12就会出错
SELECT @datevar
GO
/*
可以用convert来转换显示输出
ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.zh-CHS/tsqlref9/html/a87d0850-c670-4720-9ad5-6f5a22343ea8.htm
*/
--常用的几种转换
select CONVERT(varchar, getdate(), 120 )
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
select CONVERT(varchar(12) , getdate(), 111 )
select CONVERT(varchar(12) , getdate(), 112 )
select CONVERT(varchar(12) , getdate(), 102 )
作者:陈希章 出处:http://blog.youkuaiyun.com/chen_xizhang 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |