SQL Server中的日期类型
/*
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 )