使用转换:
转换(data_type(长度),表达式(风格))
转换(varchar(10),字段名、转换格式)
转换(nvarchar(10), 121年count_time)
转换为日期转换函数,一般就是在时间类型(datetime, smalldatetime)与字符串类型(nchar nvarchar, char、varchar)
相互转换的时候才用到的函数的3个参数,第1个参数为,转换后的大小,第2个为转换日期的字段或函数,第3个为转换的格式。
参数
表达式
是任何有效的微软?SQL Server ?表达式. .
data_type
目标系统所提供的数据类型,包括长整型数字和sql_variant。不能使用用户定义的数据类型。
nchar nvarchar, char、varchar、二进制或varbinary数据类型的可选参数。
风格
日期格式样式,借以将datetime或smalldatetime数据转换为字符数据(nchar nvarchar, char、varchar nchar或nvarchar数据类型),或者字符串格式样式,借以将浮动,真实、金钱或smallmoney数据转换为字符数据(nchar nvarchar, char、varchar nchar或nvarchar数据类型)。
SQL Server支持使用科威特算法的阿拉伯样式中的数据格式。
在表中,左侧的两列表示将datetime或smalldatetime转换为字符数据的样式值。给风格值加100,可获得包括世纪数位的四位年份(yyyy)。
不带世纪数位(yy)带世纪数位(yyyy)
标准
输入/输出* *
-
<李> 0或100(*)默认值我的弟弟yyyy hh: miAM(或点)
1 101美国mm/dd/yyyy
2 102 ANSI yy.mm。dd
103英法/国国dd/mm/yy
4 104德国dd.mm。yy
105意大利dd-mm-yy
6 106 - dd mon yy
7 107 -我的弟弟,yy
8 108 - hh: mm: ss李> <李> 9或109(*)默认值+毫秒mon dd yyyy hh: mi: ss: mmmAM(或点)
10 110美国mm-dd-yy
111年11日本yy/mm/dd
12 112 ISO yymmdd李> <李> 13或113(*)欧洲默认值+毫秒dd mon yyyy hh: mm: ss:嗯(24小时)
14 114 - hh: mi: ss:嗯(24小时)李> <李> 20或120 (*)ODBC规范yyyy-mm-dd hh: mm: ss (。李fff] > <李> 21或121 (*)ODBC规范(带毫秒)yyyy-mm-dd hh: mm: ss (。李fff] > <李> 126 (* * *)ISO8601 yyyy-mm-dd Thh: mm: ss。李嗯(不含空格)> <李> 130 * Hijri * * * * dd mon yyyy hh: mi: ss: mmmAM李> <李>
131 * Hijri * * * * dd/mm/yy hh: mi: ss: mmmAM
李> <李>默认值(风格0或100,或109,或113,或120,或121)21日始终返回世纪数位(yyyy)。* *当转换为datetime时输入;当转换为字符数据时输出。
* <强>专门用于XML。对于从datetime或smalldatetime到字符数据的转换,输出格式如表中所示。对于从浮动,钱或smallmoney到字符数据的转换,输出等同于风格2。对于从现实到字符数据的转换,输出等同于风格1。
* * 强> Hijri是具有几种变化形式的日历系统,微软?SQL Server ?2000年使用其中的科威特算法。李>
重要默认情况下,SQL Server根据截止年2049份解释两位数字的年份。即,两位数字的年49份被解释为2049年,而两位数字的年50份被解释为1950。许多客户端应用程序(例如那些基于OLE自动化对象的客户端应用程序)都使用2030作为截止年份. SQL服务器提供一个配置选项(“两位数字的截止年份“),借以更改SQL Server所使用的截止年份并对日期进行一致性处理然。而最安全的办法是指定四位数字年份。
当从smalldatetime转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。当从datetime或smalldatetime值进行转换时,可以通过使用适当的char或varchar数据类型长度来截断不需要的日期部分。
语句及查询结果:
<代码>选择转换(varchar(100),获取当前日期(),0):2006年05年16日10:57AM 选择转换(varchar(100),获取当前日期(),1):05/16/06 选择转换(varchar(100),获取当前日期(),2):06.05.16 选择转换(varchar(100),获取当前日期(),3):16/05/06 选择转换(varchar(100),获取当前日期(),4):16.05.06 选择转换(varchar(100),获取当前日期(),5):16-05-06 选择转换(varchar(100),获取当前日期(),6):16 05 06 选择转换(varchar(100),获取当前日期(),7):06 05年16日 选择转换(varchar(100),获取当前日期(),8):10:57:46 选择转换(varchar(100),获取当前日期(),9):05年16 2006 10:57:46:827AM 选择转换(varchar(100),获取当前日期(),10):05-16-06 选择转换(varchar(100),获取当前日期(),11):06/05/16 选择转换(varchar(100),获取当前日期(),12):060516 选择转换(varchar(100),获取当前日期(),13):16 05 2006 10:57:46:937 选择转换(varchar(100),获取当前日期(),14):10:57:46:967 选择转换(varchar(100),获取当前日期(),20):2006-05-16 10:57:47 选择转换(varchar(100),获取当前日期(),21):2006-05-16 10:57:47.157 选择转换(varchar(100),获取当前日期(),22):05/16/06 10:57:47 选择转换(varchar(100),获取当前日期()、23):2006-05-16 选择转换(varchar(100),获取当前日期(),24):10:57:47 选择转换(varchar(100),获取当前日期(),25):2006-05-16 10:57:47.250 选择转换(varchar(100),获取当前日期(),100年):2006年05年16日10:57AM 选择转换(varchar(100),获取当前日期(),101):05/16/2006 选择转换(varchar(100),获取当前日期(),102):2006.05.16 选择转换(varchar(100),获取当前日期(),103):16/05/2006 选择转换(varchar(100),获取当前日期(),104):16.05.2006 选择转换(varchar(100),获取当前日期(),105年):16-05-2006 选择转换(varchar(100),获取当前日期(),106):16 2006年05 选择转换(varchar(100),获取当前日期(),107年):2006年05年16日 选择转换(varchar(100),获取当前日期(),108):10:57:49 选择转换(varchar(100),获取当前日期(),109年):2006年05年16日10:57:49:437AM 选择转换(varchar(100),获取当前日期(),110年):05-16-2006 选择转换(varchar(100),获取当前日期(),111):2006/05/16 选择转换(varchar(100),获取当前日期(),112年):20060516 选择转换(varchar(100),获取当前日期(),113):16 05 2006 10:57:49:513 选择转换(varchar(100),获取当前日期(),114):10:57:49:547 选择转换(varchar(100),获取当前日期(),120):2006-05-16 10:57:49 选择转换(varchar(100),获取当前日期(),121):2006-05-16 10:57:49.700 选择转换(varchar(100),获取当前日期(),126年):2006 - 05 - 16 - t10:57:49.827 选择转换(varchar(100),获取当前日期(),130):18 ? ? ? ?? ? ? ? ? ?1427年10:57:49:907AM 选择转换(varchar(100),获取当前日期(),131):18/04/1427 10:57:49:920AM该软件日期格式转换函数(使用转换)