当前位置: 首页 > 技术分享  > 开发技术 > 数据库应用

MSSQL数据库时间日期格式集合

2018/12/14 22:18:06 人评论

SQL开发中经常会用各种日期格式,收集供后期学习使用

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 数据类型长度来截断不需要的日期部分。


相关技术

  • MSSQL2016 SSMS18 闪退解决方法

    服务器最近安装MSSQL 2016,安装包中没有集成Microsoft SQL Server Management Studio。需要另外下载,官网找到SSMS-Setup-CHS.exe,选择15.0.18118.0版本。安装完后,双击桌面 Microsoft SQL Server Management Studio 18 无响应,一闪而过。使用管理员权限,问题依旧。经…

    2019/6/10 22:30:33
  • SQL Server 数据库定时自动备份

    在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库。而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员 每天守到晚上1点去备份数据库。要实现数据库的定时自动备份,最常用的方式就是使用SQL Server代理中的作业。启动S…

    2018/6/24 10:29:38
  • 4种C#SQL语句写法

    记录4种C#SQL语句写法,个人比较喜欢用第二种string.Format方法;(1)拼接产生SQL语句: string sql = "insert into czyb(yhm,mm,qx) values(" + txtName.Text + "," + txtPassword.Text + "," + cmbPriority.Text + ")";…

    2018/2/1 12:15:34
  • MSSQL游标CURSOR应用实例

    我们使用SQL语句处理数据时,可能会碰到一些需要循环遍历某个表并对其进行相应的操作(添加、修改、删除),这时我们就需要用到咱们在编程中常常用的for或foreach,但是在SQL中写循环往往显得那么吃力,翻遍网上的资料,找不到几个正确的并能执行的循环处理数据的方法,在…

    2017/12/8 8:38:13

共有条评论 网友评论

验证码: 看不清楚?