sql数据库时间转换convert
CONVERT
CONVERT将某种数据类型的表达式显式转换为另一种数据类型。
严格来说,CONVERT不属于日期处理函数,只是它被经常用于日期处理中,所以这里把它列入了其他日期处理函数,下面是CONVERT的用法描述(只重点说明在日期处理中的应用)。
CONVERT的具体语法如下:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
其中包括以下参数。
¡ expression:是要转换数据类型的有效SQL Server表达式。
¡ data_type:是expression转换后的数据类型,length是对于有精度定义需要的data_type的精度定义,对于没有精度定义需要的data_type,该参数可以省略。
¡ style:定义数据类型转换时的格式,对于日期类型的转换,它的定义如表2-4所示。
表2-4 style在日期转换中的说明
|
不带世纪数位 |
带世纪数位 |
标 准 |
输入/输出 |
|
— |
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-ddThh:mm:ss.mmm |
|
— |
130 |
Hijri |
dd mon yyyy hh:mi:ss:mmmAM |
|
— |
131 |
Hijri |
dd/mm/yy hh:mi:ss:mmmAM |
说明:
① 输入/输出:“输入”表示从字符串转换为日期时字符串的日期格式,“输出”指从日期转换为字符串时的日期字符串格式。
② Hijri:是具有几种变化形式的日历系统,SQL Server使用其中的科威特算法。
当从smalldatetime转换为字符数据时,由于smalldatetimer只保存到分钟的数据,因此,对于包含秒或毫秒的样式,将在秒或毫秒的位置上显示零。当从datetime或smalldatetime值进行转换时,可以通过使用适当的char或varchar数据类型长度来截断不需要的日期部分。
注意:
在SQL Server中,由于直接提供的日期均是以日期格式的字符串提供,所以在使用CONVERT进行日期格式转换时,要先把日期格式的字符串转换为日期型,然后才能利用CONVERT进行日期格式转换,否则就变成字符串转换为字符串,此时的style选项是无效的。
返回类型:由参数data_type确定。
下面是利用CONVERT进行日期转换的简单示例:
/*== 字符转换为日期时,Style的使用 ==*/
--1. Style=101时,表示日期字符串为:mm/dd/yyyy格式
SELECT CONVERT(datetime,'11/1/2003',101)
--结果:2003-11-01 00:00:00.000
--2. Style=101时,表示日期字符串为:dd/mm/yyyy格式
SELECT CONVERT(datetime,'11/1/2003',103)
--结果:2003-01-11 00:00:00.000
/*== 日期转换为字符串 ==*/
DECLARE @dt datetime
SET @dt='2003-1-11'
--1. Style=101时,表示将日期转换为:mm/dd/yyyy 格式
SELECT CONVERT(varchar,@dt,101)
--结果:01/11/2003
--2. Style=103时,表示将日期转换为:dd/mm/yyyy 格式
SELECT CONVERT(varchar,@dt,103)
--结果:11/01/2003
/*== 这是很多人经常犯的错误,对非日期型转换使用日期的style样式 ==*/
SELECT CONVERT(varchar,'2003-1-11',101)
--结果:2003-1-11
sql数据库时间转换convert的更多相关文章
- Sql 日期时间 转换
sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-0 ...
- Sql数据库时间的转换格式
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDAT ...
- Sql 常用时间转换
CONVERT(varchar(100), GETDATE(), 0); -- 08 31 2015 04:57PM CONVERT(varchar(100), GETDATE(), 20); --2 ...
- sql server时间转换
--getdate 获取当前时间 select getdate() --dateadd 原有时间加: 2013-02-17 13:20:16 此时间加12个月 select dateadd(MONTH ...
- oracle数据库时间转换
select * from TAB where 时间 BETWEEN to_date('2011-02-01 22:03:40','yyyy-mm-dd hh24:mi:ss') and to_dat ...
- Sql日期时间格式转换;取年 月 日,函数:DateName()、DATEPART()
一.sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007 ...
- (转)SQL Server中使用convert进行日期转换
原文链接:http://www.cnblogs.com/weiqt/articles/1826847.html SQL Server中使用convert进行日期转换 一般存入数据库中的时间格式为yyy ...
- Sybase datetime 时间转换格式 convert(varchar(10),字段名,转换格式)
convert(varchar(10),字段名,转换格式)sybase下convert函数第三个参数(时间格式)比如:1.select user_id,convert(varchar(10),dayt ...
- (转)Sql日期时间格式转换
sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-0 ...
随机推荐
- 跨域请求发送不了cookie问题: AJAX跨域请求JS配置和服务器端配置
1.ajax是同步方式 $.ajax({ type: "post", url:url, async:false, data:datatosend, dataType:"j ...
- 机房收费 & 廊院食堂
做机房收费系统时.常常想这个一般用户指的是谁?我当初以为是学生......可能是被数据库中的student带跑偏了...... 事实上把我们的系统联系一下实际,就会非常easy想到一般用户指的是谁的位 ...
- Access WMI via Python from Linux
You can use Impacket (https://github.com/CoreSecurity/impacket) that has WMI implemented in Python. ...
- comparator接口与Comparable接口的差别
1. Comparator 和 Comparable 同样的地方 他们都是java的一个接口, 而且是用来对自己定义的class比較大小的, 什么是自己定义class: 如 public class ...
- HDU 1556 Color the ball【算法的优化】
/* 解题思路:每次仅仅求解一開始的第一个数字,让第一个数字加一,最后的一个数字的后面一个数减一.我们能够想想,最后加的时候,就是加上前面一个数出现的次数和自己本身出现的次数. 解题人:lingnic ...
- 【Eclipse提高开发速度-插件篇】Checkstyle的使用
1.CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发者遵守某些编码规范的工具. CheckStyle提供了大部分功能都是对于代码规范的检查 CheckStyle检验 ...
- 【z09】关押罪犯
描述 S城现有两座监狱,一共关押着N名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用"怨气值"(一个正整 ...
- 【z05】聪明的质检员
[题目链接]:http://noi.qz5z.com/viewtask.asp?id=z05 [题解] 显然w越大,最后的Y也就越大; 可以依靠这个搞二分: 如果二分枚举的tw得到的Y比S小,则减小t ...
- 5、linux下应用字符串相关调用函数列举说明
1.函数原型int strcmp(const char *s1,const char *s2);设这两个字符串为s1,s2,规则当s1<s2时,返回为负数当s1=s2时,返回值= 0当s1> ...
- js如何将字符串作为函数名调用函数
js将如何字符串作为函数名调用函数 一.总结 一句话总结:用eval来实现.eval可以执行参数字符串. 二.js将字符串作为函数名调用函数 比如我现在有一个字符串str = "func_a ...