请先登录,才可以继续此操作!

×

请先登录!

×

Sql日期时间格式转换

sql 获取时间(格式)


  sql server2000中使用convert来取得datetime数据类型样式(全)

日期数据格式的处理,两个示例:

CONVERT(varchar(16),时间一,20)结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/

CONVERT(varchar(10),时间一,23)结果:2007-02-01/*varchar(10)表示日期输出的格式,如果不够长会发生截取*/

语句及查询结果:

Select CONVERT(varchar(100),GETDATE(),0):05 16 2006 10:57AM

Select CONVERT(varchar(100),GETDATE(),1):05/16/06

Select CONVERT(varchar(100),GETDATE(),2):06.05.16

Select CONVERT(varchar(100),GETDATE(),3):16/05/06

Select CONVERT(varchar(100),GETDATE(),4):16.05.06

Select CONVERT(varchar(100),GETDATE(),5):16-05-06

Select CONVERT(varchar(100),GETDATE(),6):16 05 06

Select CONVERT(varchar(100),GETDATE(),7):05 16,06

Select CONVERT(varchar(100),GETDATE(),8):10:57:46

Select CONVERT(varchar(100),GETDATE(),9):05 16 2006 10:57:46:827AM

Select CONVERT(varchar(100),GETDATE(),10):05-16-06

Select CONVERT(varchar(100),GETDATE(),11):06/05/16

Select CONVERT(varchar(100),GETDATE(),12):060516

Select CONVERT(varchar(100),GETDATE(),13):16 05 2006 10:57:46:937

Select CONVERT(varchar(100),GETDATE(),14):10:57:46:967

Select CONVERT(varchar(100),GETDATE(),20):2006-05-16 10:57:47

Select CONVERT(varchar(100),GETDATE(),21):2006-05-16 10:57:47.157

Select CONVERT(varchar(100),GETDATE(),22):05/16/06 10:57:47 AM

Select CONVERT(varchar(100),GETDATE(),23):2006-05-16

Select CONVERT(varchar(100),GETDATE(),24):10:57:47

Select CONVERT(varchar(100),GETDATE(),25):2006-05-16 10:57:47.250

Select CONVERT(varchar(100),GETDATE(),100):05 16 2006 10:57AM

Select CONVERT(varchar(100),GETDATE(),101):05/16/2006

Select CONVERT(varchar(100),GETDATE(),102):2006.05.16

Select CONVERT(varchar(100),GETDATE(),103):16/05/2006

Select CONVERT(varchar(100),GETDATE(),104):16.05.2006

Select CONVERT(varchar(100),GETDATE(),105):16-05-2006

Select CONVERT(varchar(100),GETDATE(),106):16 05 2006

Select CONVERT(varchar(100),GETDATE(),107):05 16,2006

Select CONVERT(varchar(100),GETDATE(),108):10:57:49

Select CONVERT(varchar(100),GETDATE(),109):05 16 2006 10:57:49:437AM

Select CONVERT(varchar(100),GETDATE(),110):05-16-2006

Select CONVERT(varchar(100),GETDATE(),111):2006/05/16

Select CONVERT(varchar(100),GETDATE(),112):20060516

Select CONVERT(varchar(100),GETDATE(),113):16 05 2006 10:57:49:513

Select CONVERT(varchar(100),GETDATE(),114):10:57:49:547

Select CONVERT(varchar(100),GETDATE(),120):2006-05-16 10:57:49

Select CONVERT(varchar(100),GETDATE(),121):2006-05-16 10:57:49.700

Select CONVERT(varchar(100),GETDATE(),126):2006-05-16T10:57:49.827

Select CONVERT(varchar(100),GETDATE(),130):18??????????1427 10:57:49:907AM

Select CONVERT(varchar(100),GETDATE(),131):18/04/1427 10:57:49:920AM

说明:

使用CONVERT:

CONVERT(data_type[(length)],expression[,style])

参数

expression

是任何有效的Microsoft®SQL Server™表达式。。

data_type

目标系统所提供的数据类型,包括bigint和sql_variant。不能使用用户定义的数据类型。

length

nchar、nvarchar、char、varchar、binary或varbinary数据类型的可选参数。

style

日期格式样式,借以将datetime或smalldatetime数据转换为字符数据(nchar、nvarchar、char、varchar、nchar或nvarchar数据类型);或者字符串格式样式,借以将float、real、money或smallmoney数据转换为字符数据(nchar、nvarchar、char、varchar、nchar或nvarchar数据类型)。

SQL Server支持使用科威特算法的阿拉伯样式中的数据格式。

在表中,左侧的两列表示将datetime或smalldatetime转换为字符数据的style值。给style值加100,可获得包括世纪数位的四位年份(yyyy)。

不带世纪数位(yy)带世纪数位(yyyy)

标准

输入/输出**

-0或100(*)默认值mon dd yyyy hh:miAM(或PM)

1 101美国mm/dd/yyyy

2 102 ANSI yy.mm.dd

3 103英国/法国dd/mm/yy

4 104德国dd.mm.yy

5 105意大利dd-mm-yy

6 106-dd mon yy

7 107-mon dd,yy

8 108-hh:mm:ss

-9或109(*)默认值+毫秒mon dd yyyy hh:mi:ss:mmmAM(或PM)

10 110美国mm-dd-yy

11 111日本yy/mm/dd

12 112 ISO yymmdd

-13或113(*)欧洲默认值+毫秒dd mon yyyy hh:mm:ss:mmm(24h)

14 114-hh:mi:ss:mmm(24h)

-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.mmm(不含空格)

-130*Hijri****dd mon yyyy hh:mi:ss:mmmAM

-131*Hijri****dd/mm/yy hh:mi:ss:mmmAM

*默认值(style 0或100、9或109、13或113、20或120、21或121)始终返回世纪数位(yyyy)。

**当转换为datetime时输入;当转换为字符数据时输出。

***专门用于XML。对于从datetime或smalldatetime到character数据的转换,输出格式如表中所示。对于从float、money或smallmoney到character数据的转换,输出等同于style 2。对于从real到character数据的转换,输出等同于style 1。

****Hijri是具有几种变化形式的日历系统,Microsoft®SQL Server™2000使用其中的科威特算法。

重要默认情况下,SQL Server根据截止年份2049解释两位数字的年份。即,两位数字的年份49被解释为2049,而两位数字的年份50被解释为1950。许多客户端应用程序(例如那些基于OLE自动化对象的客户端应用程序)都使用2030作为截止年份。SQL Server提供一个配置选项("两位数字的截止年份"),借以更改SQL Server所使用的截止年份并对日期进行一致性处理。然而最安全的办法是指定四位数字年份。

当从smalldatetime转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。当从datetime或smalldatetime值进行转换时,可以通过使用适当的char或varchar数据类型长度来截断不需要的日期部分。

本文作者: 金银财经。

+1
3
推荐阅读
在工具
Sql日期时间格式转换
说点什么

最新评论

头像
期货,股票 达人
金银财经,赚钱轻松!

请先登录!

×

最热文章

日排行周排行