您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Sql日期时间格式转换
Sql日期时间格式转换sqlserver2000中使用convert来取得datetime数据类型样式(全)日期数据格式的处理,两个示例:CONVERT(varchar(16),时间一,20)结果:2007-02-0108:02/*时间一般为getdate()函数或数据表里的字段*/CONVERT(varchar(10),时间一,23)结果:2007-02-01/*varchar(10)表示日期输出的格式,如果不够长会发生截取*/语句及查询结果:SelectCONVERT(varchar(100),GETDATE(),0):0516200610:57AMSelectCONVERT(varchar(100),GETDATE(),1):05/16/06SelectCONVERT(varchar(100),GETDATE(),2):06.05.16SelectCONVERT(varchar(100),GETDATE(),3):16/05/06SelectCONVERT(varchar(100),GETDATE(),4):16.05.06SelectCONVERT(varchar(100),GETDATE(),5):16-05-06SelectCONVERT(varchar(100),GETDATE(),6):160506SelectCONVERT(varchar(100),GETDATE(),7):0516,06SelectCONVERT(varchar(100),GETDATE(),8):10:57:46SelectCONVERT(varchar(100),GETDATE(),9):0516200610:57:46:827AMSelectCONVERT(varchar(100),GETDATE(),10):05-16-06SelectCONVERT(varchar(100),GETDATE(),11):06/05/16SelectCONVERT(varchar(100),GETDATE(),12):060516SelectCONVERT(varchar(100),GETDATE(),13):1605200610:57:46:937SelectCONVERT(varchar(100),GETDATE(),14):10:57:46:967SelectCONVERT(varchar(100),GETDATE(),20):2006-05-1610:57:47SelectCONVERT(varchar(100),GETDATE(),21):2006-05-1610:57:47.157SelectCONVERT(varchar(100),GETDATE(),22):05/16/0610:57:47AMSelectCONVERT(varchar(100),GETDATE(),23):2006-05-16SelectCONVERT(varchar(100),GETDATE(),24):10:57:47SelectCONVERT(varchar(100),GETDATE(),25):2006-05-1610:57:47.250SelectCONVERT(varchar(100),GETDATE(),100):0516200610:57AMSelectCONVERT(varchar(100),GETDATE(),101):05/16/2006SelectCONVERT(varchar(100),GETDATE(),102):2006.05.16SelectCONVERT(varchar(100),GETDATE(),103):16/05/2006SelectCONVERT(varchar(100),GETDATE(),104):16.05.2006SelectCONVERT(varchar(100),GETDATE(),105):16-05-2006SelectCONVERT(varchar(100),GETDATE(),106):16052006SelectCONVERT(varchar(100),GETDATE(),107):0516,2006SelectCONVERT(varchar(100),GETDATE(),108):10:57:49SelectCONVERT(varchar(100),GETDATE(),109):0516200610:57:49:437AMSelectCONVERT(varchar(100),GETDATE(),110):05-16-2006SelectCONVERT(varchar(100),GETDATE(),111):2006/05/16SelectCONVERT(varchar(100),GETDATE(),112):20060516SelectCONVERT(varchar(100),GETDATE(),113):1605200610:57:49:513SelectCONVERT(varchar(100),GETDATE(),114):10:57:49:547SelectCONVERT(varchar(100),GETDATE(),120):2006-05-1610:57:49SelectCONVERT(varchar(100),GETDATE(),121):2006-05-1610:57:49.700SelectCONVERT(varchar(100),GETDATE(),126):2006-05-16T10:57:49.827SelectCONVERT(varchar(100),GETDATE(),130):18??????????142710:57:49:907AMSelectCONVERT(varchar(100),GETDATE(),131):18/04/142710:57:49:920AM说明:使用CONVERT:CONVERT(data_type[(length)],expression[,style])参数expression是任何有效的Microsoft?SQLServer?表达式。。data_type目标系统所提供的数据类型,包括bigint和sql_variant。不能使用用户定义的数据类型。lengthnchar、nvarchar、char、varchar、binary或varbinary数据类型的可选参数。style日期格式样式,借以将datetime或smalldatetime数据转换为字符数据(nchar、nvarchar、char、varchar、nchar或nvarchar数据类型);或者字符串格式样式,借以将float、real、money或smallmoney数据转换为字符数据(nchar、nvarchar、char、varchar、nchar或nvarchar数据类型)。SQLServer支持使用科威特算法的阿拉伯样式中的数据格式。在表中,左侧的两列表示将datetime或smalldatetime转换为字符数据的style值。给style值加100,可获得包括世纪数位的四位年份(yyyy)。不带世纪数位(yy)带世纪数位(yyyy)标准输入/输出**-0或100(*)默认值monddyyyyhh:miAM(或PM)1101美国mm/dd/yyyy2102ANSIyy.mm.dd3103英国/法国dd/mm/yy4104德国dd.mm.yy5105意大利dd-mm-yy6106-ddmonyy7107-mondd,yy8108-hh:mm:ss-9或109(*)默认值+毫秒monddyyyyhh:mi:ss:mmmAM(或PM)10110美国mm-dd-yy11111日本yy/mm/dd12112ISOyymmdd-13或113(*)欧洲默认值+毫秒ddmonyyyyhh:mm:ss:mmm(24h)14114-hh:mi:ss:mmm(24h)-20或120(*)ODBC规范yyyy-mm-ddhh:mm:ss[.fff]-21或121(*)ODBC规范(带毫秒)yyyy-mm-ddhh:mm:ss[.fff]-126(***)ISO8601yyyy-mm-ddThh:mm:ss.mmm(不含空格)-130*Hijri****ddmonyyyyhh:mi:ss:mmmAM-131*Hijri****dd/mm/yyhh:mi:ss:mmmAM*默认值(style0或100、9或109、13或113、20或120、21或121)始终返回世纪数位(yyyy)。**当转换为datetime时输入;当转换为字符数据时输出。***专门用于XML。对于从datetime或smalldatetime到character数据的转换,输出格式如表中所示。对于从float、money或smallmoney到character数据的转换,输出等同于style2。对于从real到character数据的转换,输出等同于style1。****Hijri是具有几种变化形式的日历系统,Microsoft?SQLServer?2000使用其中的科威特算法。重要默认情况下,SQLServer根据截止年份2049解释两位数字的年份。即,两位数字的年份49被解释为2049,而两位数字的年份50被解释为1950。许多客户端应用程序(例如那些基于OLE自动化对象的客户端应用程序)都使用2030作为截止年份。SQLServer提供一个配置选项(两位数字的截止年份),借以更改SQLServer所使用的截止年份并对日期进行一致性处理。然而最安全的办法是指定四位数字年份。当从smalldatetime转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。当从datetime或smalldatetime值进行转换时,可以通过使用适当的char或varchar数据类型长度来截断不需要的日期部分。
本文标题:Sql日期时间格式转换
链接地址:https://www.777doc.com/doc-2860446 .html