來源:http://www.knowsky.com/345490.html

CONVERT
将某种数据类型的表达式显式转换为另一种 数据类型。由于某些需求经常用到取日期格式的不同.现以下可在
SQL Server中 将日期格式化.

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

在表中,左侧的两列表示将 datetimesmalldatetime 转换为字符数据的 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* 科威特 dd mon yyyy hh:mi:ss:mmmAM
- 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM

*    默认值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始终返回世纪数位 (yyyy)。
** 当转换为 datetime 时输入;当 转换为字符数据时输出。
*** 专门用于 XML 。对于从 datetimesmalldatetimecharacter 数据的转换,输出格式如表中所示。对于从 floatmoneysmallmoneycharacter 数据的转换,输出等同于 style 2。对于从 realcharacter 数据的转换,输出等同于 style 1。

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

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

下表显示了从 floatreal 转换为字符数据时的 style 值。

输出
0 (默认值) 最大为 6 位数。根据需要使用科学记数法。
1 始终为 8 位值。始终使用科学记数法。
2 始终为 16 位值。始终使用科学记数法。

在下表中,左列表示从 moneysmallmoney 转换为字符数据时的 style 值。

输出
0 (默认值) 小数点左侧每三位数字之间不以逗号分隔,小数点右侧取两位数,例如 4235.98。
1 小数点左侧每三位数字之间以逗号分隔,小数点右侧取两位数,例如 3,510.92。
2 小数点左侧每三位数字之间不以逗号分隔,小数点右侧取四位数,例如 4235.9819。

使用 CONVERT:

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

select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08

select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),/'-/',/'/'),/' /',/'/'),/':/',/'/')
20040912110608

select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12

select CONVERT(varchar(12) , getdate(), 112 )
20040912

select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12

select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004

select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004

select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004

select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004

select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004

select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004

select CONVERT(varchar(12) , getdate(), 108 )
11:06:08

select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1

select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004

select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1

select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177

MS SQL Server中的CONVERT日期格式化大全相关推荐

  1. sql oracle 自增长字段,在Oracle、MySQL、MS SQL Server中创设自动增长字段

    在Oracle.MySQL.MS SQL Server中创建自动增长字段 好吧,今天面试有道题,要各个数据库怎么建立自增长字段,顺便复习一下吧,最近面试很多数据库问题... 一:Oracle Orac ...

  2. SQL Server中使用convert进行日期转换

    一般存入数据库中的时间格式为yyyy-mm-ddhh:mm:ss 如果要转换为yyyy-mm-dd 短日期格式.可以使用convert函数.下面是sqlserver帮助中关于convert函数的声明: ...

  3. sql server 中获取前一天日期_图解SQL面试题:如何比较日期数据?

    ​[题目] 下面是某公司每天的营业额,表名为"日销"."日期"这一列的数据类型是日期类型(date). 请找出所有比前一天(昨天)营业额更高的数据.(前一天的意 ...

  4. MS SQL SERVER 中merge join合并连接介绍(转)

    1概述 Merge join 合并连接.两个集合进行merge join,需要有一个等值的条件,然后需要两个已排序好的集合. 2 one-to-many与many-to-many 2.1 One-to ...

  5. sql server 中获取前一天日期_图解面试题:如何比较日期数据?

    ​[题目] 下面是某公司每天的营业额,表名为"日销"."日期"这一列的数据类型是日期类型(date). 请找出所有比前一天(昨天)营业额更高的数据.(前一天的意 ...

  6. MS SQL SERVER 中几个函数的用法

    1.STUFF 将第一个参数,从第start位置开始的length个字符(包含第start位置,位置从1开始),用第四个参数替换. Syntax ( character_expression , st ...

  7. MS SQL SERVER中备份所有数据库

    建立一个存储过程,每次备份时执行这个过程,如果愿意的话也可以在sql中做个任务来每周调用. CREATE PROCEDURE p_BackAllDatabase (    @path nvarchar ...

  8. Oracle 和 Sql Server中日期的显示问题

    在日常的项目中,经常遇见User需要显示不同的日期格式.当然,在Oracle和Ms Sql server中,处理日期格式的函数就是两个:TO_Char(Oracle)和Convert(Sql Serv ...

  9. MS sql server和mysql中update多条数据的例子

    1. MS sql server中使用动态的表名:declare @tableName nvarchar(160) set @tableName = 't_stat_all' declare @sql ...

最新文章

  1. 【alibaba-cloud】网关整合sentinel实现限流
  2. Android OpenGL ES(十)绘制三角形Triangle .
  3. python爬取分页数据
  4. hdu1686:KMP板子
  5. Ubuntu环境下,使用clion编译器,使用开源opensll的对称AES算法对于文件进行加密,C++代码
  6. 转:libev和libevent的设计差异
  7. React-Native 按钮点击几种效果进行对比
  8. 解决苹果mac新建txt文档在Windows下不换行的方法
  9. Linux运维 第三阶段 (九)NFS
  10. 飓鼎玩笑傲江湖服务器维护,12月24日维护更新公告 - 笑傲江湖12月24日维护更新公告 - 17173笑傲江湖官网合作专区 - 17173.com中国游戏第一门户站...
  11. ASP.NET MVC 学习第三天
  12. 爬取12306验证码图片
  13. SDN之旅—mininet(在Windows系统上)安装
  14. 治愈系书单|林曦《只生欢喜不生愁》
  15. python游戏编程快速上手pdf_Python游戏编程快速上手 (斯维加特著) 中文pdf完整版[18MB]...
  16. 画圆形头像的简单画法
  17. 如何使自己成为一个幽默的人
  18. Linux下自动化运维工具ansible
  19. 实训项目——多语言学习app 总结报告
  20. java注解保留两位小数_jackson使用@JsonSerialize格式化BigDecimal解决.00不显示问题

热门文章

  1. DXperience 8.2.4 简繁体汉化,本地化,Skins包含webform,winform
  2. windows消息机制详解-3
  3. c#中udp客户端连接遇到的问题 “远程主机强制关闭了一个现有的连接”
  4. sqlserver连接和操作数据库
  5. DVWA暴力破解(Brute Force)——全等级(Low,Medium,High,lmpossible)精讲
  6. QJsonObject写入读出json文件中文乱码问题解决
  7. C++11线程管理基础
  8. 如何手写代码进行页面布局
  9. 实用代码---取得当前的年月日,当前的时分秒获得,周几和星期几获得
  10. xlim用法matlab,MATLAB之xlim 、 ylim 、zlim的简单介绍