SQL Server CONVERT函数
SQLServer中使用convert进行日期转换
SQLServer中使⽤convert进⾏⽇期转换⼀般存⼊数据库中的时间格式为yyyy-mm-ddhh:mm:ss 如果要转换为yyyy-mm-dd 短⽇期格式.可以使⽤convert函数.下⾯是sqlserver帮助中关于convert函数的声明:使⽤ CONVERT:CONVERT (data_type[(length)],expression[,style])参数expression是任何有效的 Microsoft® SQL Server™ 表达式。
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数据类型)。
SQL Server ⽀持使⽤科威特算法的阿拉伯样式中的数据格式。
在表中,左侧的两列表⽰将datetime或smalldatetime转换为字符数据的style值。
给style值加 100,可获得包括世纪数位的四位年份 (yyyy)。
不带世纪数位 (yy)带世纪数位 (yyyy)标准输⼊/输出**-0 或 100 (*)默认值mon dd yyyy hh:miAM(或 PM)1101美国mm/dd/yyyy2102ANSI yy.mm.dd3103英国/法国dd/mm/yy4104德国dd.mm.yy5105意⼤利dd-mm-yy6106-dd mon yy7107-mon dd, yy8108-hh:mm:ss-9 或 109 (*)默认值 + 毫秒mon dd yyyy hh:mi:ss:mmmAM(或PM)10110美国mm-dd-yy11111⽇本yy/mm/dd12112ISO yymmdd-13 或 113 (*)欧洲默认值 + 毫秒dd mon yyyy hh:mm:ss:mmm(24h) 14114-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(***)ISO8601yyyy-mm-dd Thh:mm:ss:mmm(不含空格)-130*科威特dd mon yyyy hh:mi:ss:mmmAM-131*科威特dd/mm/yy hh:mi:ss:mmmAM* 默认值(style0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始终返回世纪数位 (yyyy)。
SQLServer中使用convert进行日期转换
SQLServer中使⽤convert进⾏⽇期转换Sql Server Convert函数进⾏⽇期转换⼀般存⼊数据库中的时间格式为yyyy-mm-ddhh:mm:ss 如果要转换为yyyy-mm-dd 短⽇期格式.可以使⽤convert函数.下⾯是sqlserver帮助中关于convert函数的声明:使⽤ CONVERT:CONVERT (data_type[(length)],expression[,style])expression是任何有效的 Microsoft® SQL Server™ 表达式。
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数据类型)。
SQL Server ⽀持使⽤科威特算法的阿拉伯样式中的数据格式。
在表中,左侧的两列表⽰将datetime或smalldatetime转换为字符数据的style值。
给style值加 100,可获得包括世纪数位的四位年份 (yyyy)。
不带世纪数位 (yy)带世纪数位 (yyyy)标准输⼊/输出**-0 或 100 (*)默认值mon dd yyyy hh:miAM(或 PM)1101美国mm/dd/yyyy2102ANSI yy.mm.dd3103英国/法国dd/mm/yy4104德国dd.mm.yy5105意⼤利dd-mm-yy6106-dd mon yy7107-mon dd, yy8108-hh:mm:ss-9 或 109 (*)默认值 + 毫秒mon dd yyyy hh:mi:ss:mmmAM(或PM)10110美国mm-dd-yy11111⽇本yy/mm/dd12112ISO yymmdd-13 或 113 (*)欧洲默认值 + 毫秒dd mon yyyy hh:mm:ss:mmm(24h) 14114-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(***)ISO8601yyyy-mm-dd Thh:mm:ss:mmm(不含空格)-130*科威特dd mon yyyy hh:mi:ss:mmmAM-131*科威特dd/mm/yy hh:mi:ss:mmmAM* 默认值(style0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始终返回世纪数位 (yyyy)。
convert(date, )用法
一、convert(date, )函数的基本介绍convert(date, )是SQL Server中的一个日期函数,用于将其他数据类型的数据转换为日期类型。
它的语法格式为convert(date, expression, style)。
其中,date表示要转换成的日期类型,expression表示要进行转换的表达式,style表示日期的输出格式。
二、convert(date, )函数的常见用法1. 将字符串转换为日期类型在日常的数据库操作中,经常会遇到需要将字符串类型的数据转换为日期类型的情况。
convert(date, )函数就可以很好地满足这一需求。
我们可以使用如下语句将字符串类型的日期数据转换为日期类型:convert(date, '2022-09-15')这样就可以将字符串'2022-09-15'转换为日期类型,方便进行后续的日期计算和比较操作。
2. 按照指定格式输出日期convert(date, )函数还可以按照指定的格式将日期数据进行输出。
我们可以使用如下语句按照“年-月-日”的格式输出日期数据:convert(date, '2022-09-15', 23)这样就可以将日期'2022-09-15'按照指定格式输出为'2022-09-15'的形式,方便进行页面展示或者导出报表等操作。
三、convert(date, )函数的注意事项1. 日期格式的合法性在使用convert(date, )函数进行日期转换时,需要注意输入的日期格式必须是合法的。
否则会出现转换失败的情况。
如果输入的字符串不符合日期的标准格式,就会导致转换失败,从而影响后续的数据操作。
2. 日期范围的限制在进行日期类型的转换时,还需要注意日期范围的限制。
对于一些早于1900年1月1日或者晚于2155年12月31日的日期,convert(date, )函数可能会出现转换失败或者不确定的结果。
SQL Server日期函数的说明和例子
日期查询本章中将要讲日期查询,convert(),datediff(),year(),month(),day(),datename(),dateadd(),isdate()函数。
(1)convert()函数说明:convert()函数是将时间类型转换为字符类型,并且让转换以后的字符类型显示各种样式的时间。
语法:convert(date_type[length],expression,style)Date_type:要被转化为的数据类型Length:Date_type的可选参数,是date_type的长度Expression:是datetime类型的数据Style:指定转换形式,style设定值见备注例:(1)查询学生表,让学生入学时间按yyyy/mm/dd显示Selectstu_id,stu_name,stu_sex,stu_age,stu_profession,convert(char(10),stu_jointime,111)(2) datediff()函数说明:计算两个时间差语法:datediff(datepart,startdate,enddate)Datepart:指定要计算的日期类型,如:天,日,年,小时,星期,等等Startdate:计算的起始时间Enddate:计算的结束时间例:(1)计算2010-05-06,2010-06-06直接的年的差别,月的差别,日的差别。
Select datediff(yy,’ 2010-05-06’,’ 2010-06-06’)Select datediff(mm, ’ 2010-05-06’,’ 2010-06-06’)Select datediff(dd, ’ 2010-05-06’,’ 2010-06-06’)(3)YEAR(),MONTH(),DAY()函数说明:YEAR()返回日期中的‘年份’日期部分的整数Month()返回日期中的‘月份’日期部分的整数DAY()返回日期中的‘日’日期部分的整数语法:YEAR(date)MONTH(date)DAY(date)date:datetime或者smalldatetime类型的表达式例:(1)分别查询学生信息表中入学时间的年,月,日Select year(stu_jointime) as 年份 from studentSelect month(stu_jointime) as 月份 from studentSelect day(stu_jointime) as 天 from student(4)getdate(),datename()函数说明:getdate()函数用来返回系统当前时间Datename()返回表示指定日期的指定日期部分的字符串语法:getdate()Dataname(interval,date)Interval:指定要返回的日期部分的参数,interval值见备注Date:返回datetime值的表达式,或者可以隐式转换为datetime的表达式例:(1)返回系统当前时间Select getdate() as 系统时间(2)查询当前时间是周几Select datename(dw,getdate()) as 今天是周几(3)查询当前时间是一年中的第多少天Select datename(y,getdate()) as 今天是一年中的第多少天(5)dateadd()函数说明:通过向指定日期添加间隔,返回新的datetime值语法:dateadd(datepart,number,date)Datepart:指定要作为新值返回的日期部分的参数,参数表见备注Number:要在date的值上面增加的数量,如果为小数,则直接去掉小数点后面的数字Date:返回可以隐式转换为datetime的表达式例:(1)查询当前时间加2天后的日期Select dateadd(day,2,getdate()) as ‘两天后日期’(2)查询去年的现在时间Select dateadd(yy,-1,getdate()) as ‘去年的现在时间’(3)查询下一个星期天的后一天Select dateadd(wk,1,getdate()) as ‘下一个星期天的后一天‘(6)isdate()函数说明:isdate()函数判断给定的表达式是否为有效日期语法:isdate(expression)Expression:要验证是否为有效日期的表达式,返回1为有效,0为无效例:(1)验证2010-01-01是否为有效日期Declare @time datetimeSet @time=’2010-01-01’Select isdate(@time) as ‘是否为时间’(2)验证0000是否为有效日期Declare @time varchar(10)Set @time = ‘0000’Select isdate(@time) as ‘是否为时间‘备注:每个样式的对照表请参考sqlserver的联机丛书。
SQLSERVER中日期格式化,及GETDATE()、CONVERT()函数使用说明
SQLSERVER中⽇期格式化,及GETDATE()、CONVERT()函数使⽤说明1. date和datetime类型的区别date是SQL Server 2008新引进的数据类型。
它表⽰⼀个⽇期,不包含时间部分,可以表⽰的⽇期范围从公元元年1⽉1⽇到9999年12⽉31⽇。
只需要3个字节的存储空间。
dateTime ⽇期和时间部分,可以表⽰的⽇期范围从公元1753年1⽉1⽇00:00:00.000 到9999年12⽉31⽇23:59:59.997 ,精确到3.33毫秒,它需要8个字节的存储空间。
2. GETDATE()函数,返回当前⽇期时间(datetime类型)例如创建表格M可以使⽤GETDATE()函数插⼊数据3. CONVERT()函数,格式化⽇期CONVERT() 函数是把⽇期转换为新数据类型的通⽤函数,也可以⽤不同的格式显⽰⽇期/时间数据。
语法:data_type(length) 规定⽬标数据类型(带有可选的长度)。
date指需要转换的值。
style 规定⽇期/时间的输出格式。
可以使⽤的 style 值:当前时间2017年1⽉3⽇ 09:09:10:037Style ID SQL对应格式1SELECT CONVERT(varchar(100), GETDATE(), 1);01/03/172SELECT CONVERT(varchar(100), GETDATE(), 2);17.01.033SELECT CONVERT(varchar(100), GETDATE(), 3);03/01/174SELECT CONVERT(varchar(100), GETDATE(), 4);03.01.175SELECT CONVERT(varchar(100), GETDATE(), 5);03-01-176SELECT CONVERT(varchar(100), GETDATE(), 6);03 01 177SELECT CONVERT(varchar(100), GETDATE(), 7);01 03, 178SELECT CONVERT(varchar(100), GETDATE(), 8);09:09:109SELECT CONVERT(varchar(100), GETDATE(), 9);01 3 2017 9:09:10:037AM10SELECT CONVERT(varchar(100), GETDATE(), 10);01-03-1711SELECT CONVERT(varchar(100), GETDATE(), 11);17/01/0312SELECT CONVERT(varchar(100), GETDATE(), 12);17010313SELECT CONVERT(varchar(100), GETDATE(), 13);03 01 2017 09:09:10:03714SELECT CONVERT(varchar(100), GETDATE(), 14);09:09:10:03720SELECT CONVERT(varchar(100), GETDATE(), 20);2017-01-03 09:09:1021SELECT CONVERT(varchar(100), GETDATE(), 21);2017-01-03 09:09:10.03722SELECT CONVERT(varchar(100), GETDATE(), 22);01/03/17 9:09:10 AM23SELECT CONVERT(varchar(100), GETDATE(), 23);2017-01-0324SELECT CONVERT(varchar(100), GETDATE(), 24);09:09:1025SELECT CONVERT(varchar(100), GETDATE(), 25);2017-01-03 09:09:10.037100SELECT CONVERT(varchar(100), GETDATE(), 100);01 3 2017 9:09AM101SELECT CONVERT(varchar(100), GETDATE(), 101);01/03/2017102SELECT CONVERT(varchar(100), GETDATE(), 102);2017.01.03103SELECT CONVERT(varchar(100), GETDATE(), 103);03/01/2017103SELECT CONVERT(varchar(100), GETDATE(), 103);03/01/2017Style ID SQL对应格式104SELECT CONVERT(varchar(100), GETDATE(), 104);03.01.2017105SELECT CONVERT(varchar(100), GETDATE(), 105);03-01-2017106SELECT CONVERT(varchar(100), GETDATE(), 106);03 01 2017107SELECT CONVERT(varchar(100), GETDATE(), 107);01 03, 2017108SELECT CONVERT(varchar(100), GETDATE(), 108);09:09:10109SELECT CONVERT(varchar(100), GETDATE(), 109);01 3 2017 9:09:10:037AM110SELECT CONVERT(varchar(100), GETDATE(), 110);01-03-2017111SELECT CONVERT(varchar(100), GETDATE(), 111);2017/01/03112SELECT CONVERT(varchar(100), GETDATE(), 112);20170103113SELECT CONVERT(varchar(100), GETDATE(), 113);03 01 2017 09:09:10:037114SELECT CONVERT(varchar(100), GETDATE(), 114);09:09:10:037120SELECT CONVERT(varchar(100), GETDATE(), 120);2017-01-03 09:09:10121SELECT CONVERT(varchar(100), GETDATE(), 121);2017-01-03 09:09:10.037126SELECT CONVERT(varchar(100), GETDATE(), 126);2017-01-03T09:09:10.037130SELECT CONVERT(varchar(100), GETDATE(), 130); 5 ???? ?????? 1438 9:09:10:037AM 131SELECT CONVERT(varchar(100), GETDATE(), 131);5/04/1438 9:09:10:037AM。
SQLServer中日期格式转换CONVERT(varchar,getdate(),120)
SQLServer中⽇期格式转换CONVERT(varchar,getdate(),120)CONVERT(varchar, getdate(), 120 )这是⼀个mssql数据库的函数,Convert函数的作⽤,是进⾏数据类型的转换。
⽽您所问的这个convert(char(20),openDate,120)则是对⽇期字段,进⾏格式化转换成字符格式的函数。
接下来,对您函数中的三个参数,分别进⾏说明: 1.char(20),是要转换成的⽬标数据类型及长度,这⾥您还可以使⽤varchar(20),也可以使⽤varchar(10),如果使⽤20,则转换后的字符串可以是20的长度,如果是10,则只取前10 位了。
后⾯的省掉。
2.openDate,是⼀个⽇期字段,这个就不必过多的解释了。
3.120,是对⽇期格式进⾏格式化的⽅式编码,除了120外,还有很多编码,每种编码对应⼀种转换格式,select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),\'-\',\'\'),\' \',\'\'),\':\',\'\') 20040912110608select CONVERT(varchar(12) , getdate(), 111 ) 2004/09/12select CONVERT(varchar(12) , getdate(), 112 ) 20040912select CONVERT(varchar(12) , getdate(), 102 ) 2004.09.12select CONVERT(varchar(12) , getdate(), 101 ) 09/12/2004select CONVERT(varchar(12) , getdate(), 103 ) 12/09/2004select CONVERT(varchar(12) , getdate(), 104 ) 12.09.2004select CONVERT(varchar(12) , getdate(), 105 ) 12-09-2004select CONVERT(varchar(12) , getdate(), 106 ) 12 09 2004select CONVERT(varchar(12) , getdate(), 107 ) 09 12, 2004select CONVERT(varchar(12) , getdate(), 108 ) 11:06:08select CONVERT(varchar(12) , getdate(), 109 ) 09 12 2004 1select CONVERT(varchar(12) , getdate(), 110 ) 09-12-2004select CONVERT(varchar(12) , getdate(), 113 ) 12 09 2004 1select CONVERT(varchar(12) , getdate(), 114 ) 11:06:08.177将getdate()改成相应的字段即可。
sql server 中的convert用法
在SQL Server 中,`CONVERT` 函数用于将一个数据类型转换为另一个数据类型。
以下是`CONVERT` 函数的一些常见用法:
1. 将日期转换为字符串:
```sql
SELECT CONVERT(varchar, GETDATE(), 120) AS FormattedDate;
```
这将返回当前日期,并将其格式化为"YYYY-MM-DD" 的字符串形式。
2. 将字符串转换为日期:
```sql
SELECT CONVERT(date, '2023-07-19', 120) AS ConvertedDate;
```
这将将字符串 "2023-07-19" 转换为日期类型。
3. 将数字转换为字符串:
```sql
SELECT CONVERT(varchar, 12345) AS ConvertedNumber;
```
这将返回数字 12345 的字符串表示形式。
4. 将字符串转换为数字:
```sql
SELECT CONVERT(int, '12345') AS ConvertedNumber;
```
这将将字符串 "12345" 转换为整数类型。
这只是`CONVERT` 函数的一些基本用法示例。
你可以根据需要使用不同的数据类型和格式代码来执行更复杂的转换操作。
有关更多详细信息,请参阅SQL Server 文档中的`CONVERT` 函数部分。
Sql Server 2012 转换函数的比较(Cast、Convert和Parse)
Cast、Convert 和 Parse 都是 Sql Server 2012 中的内置转换函数,其作用是:一种数据类型转换为另一种数据类型。
其中前两者的差别较小,但 Parse 为 Sql Server 2012 新增函数,也是最近在分析 Sql Server 2012 新特性的时间,才有想把这3个函数拿出来进行比较分析的想法语法结构:1. Cast语法结构:CAST ( expression AS data_type [ ( length ) ] )2. Convert语法结构:CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) 3. Parse语法结构:PARSE ( string_value AS data_type [ USING culture ] )其中,Parse 为 Sql Server 的新特性 expression 必须要为被转换类型的字符串形式性能分析:总结:1. Convert 和 Cast 的区别CONVERT是专对SQL Server使用的,使日期与时间值,小数之间转换具有更宽的灵活性。
CAST是两种功能中更具ANSI标准的功能,即虽然更具便携性(比如,使用CAST 的函数能更容易的被其它数据库软件使用),但功能相对弱一些。
不过,当小数转化为数值,并保留原始表达式中的小数数值时,仍然需要使用CAST2. Convert 和 Parse 的区别两者除了语法的区别,就是功能上面的区别,Convert 功能更强大,Parse 则为 Sql Server 2012 新增的功能,同时功能弱小很多的,只能将字符串转换为数字类型或者日期类型,因为数字类型或日期类型长度都很小的,所以Parse 所带来的性能几乎不可能有大的改变的,之后我也做了大量的比较,发现Parse 是在绝大多数情况下都是可以替代的3. 综合比较a. 如果是做针对 Sql Server 的做开发,建议只用 Convert 方法b. 如果考虑语句跨平台,则尽量用 Cast,如 SQL 语句既能在 Sql Server 上执行,又能在 MySql 上面执行c. Parse 在 Sql Server 2012 中就是一个鸡肋,经过1 下午的实战研究和翻阅MSDN,都没有找到它的优势,如果比语法,Cast 的语法结构和它一样,如果比功能,又太弱小,完全不能和Cast 和 Convert 做比较,所以,您就把 Parse 忘记掉吧性能分析所做的实验:1. Convert 和 Parse 转换为字符串的比较复制代码代码如下:DBCC FreeProcCacheset statistics profile onselect top 1 parse(name as bigint) from test_Parseselect top 1 convert(bigint,name) from test_Parse其中 name 为 nvarchar(1000) 的一个一段,值为:1231238912378912128执行过之后,会发现,两者的执行计划完全相同,无论是对 CPU 的消耗,还是对 IO的消耗,没有任何性能差别2. Money 和 DateTime 类型的转换比较复制代码代码如下:-- DateTimeDBCC FreeProcCachedeclare @date varchar(100) = '2012/07/19 14:57:09.760'select CONVERT(datetime,@date) as dateselect Parse(@date as datetime using 'zh-CN') as date--MoneySELECT PARSE('€345,98' AS money USING 'de-DE') AS ResultSelect Convert(money,'€345,98',1) AS Result3. Parse 的专利,字符型日期到 datetime 的转换复制代码代码如下:SELECT PARSE('Monday, 13 December 2010' AS datetime2 USING 'en-US') AS ResultSELECT PARSE('Monday, 13 December 2010' AS datetime2 USING 'zh-CN') AS Result-- Cast 和 Convert 对这种类型的字符串都是不支持的--SELECT cast('Monday, 13 December 2010' AS datetime2) AS Result--SELECT Convert(datetime,'Monday, 13 December 2010') AS Result在性能方面同样没什么区别,但是比较功能时,Parse 却要比 Convert 错太多严重怀疑, Parse 本人并没有找到太多的优势和应用场景,或者由于本人才疏学浅,找不到更好的,有懂得,请赐教。
SQLServer中时间格式转换函数convert()的使用
SQLServer中时间格式转换函数convert()的使⽤convert(varchar(10),字段名,转换格式)CONVERT为⽇期转换函数,⼀般就是在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才⽤到;函数的3个参数:第1个参数为转换后的⼤;第2个为转换⽇期的字段或函数;第3个为转换的格式。
具体例⼦:SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2011 10:57AMSELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/11SELECT CONVERT(varchar(100), GETDATE(), 2): 11.05.16SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/11SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.11SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-11SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 11SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 11SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2011 10:57:46:827AMSELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-11SELECT CONVERT(varchar(100), GETDATE(), 11): 11/05/16SELECT CONVERT(varchar(100), GETDATE(), 12): 110516SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2011 10:57:46:937SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967SELECT CONVERT(varchar(100), GETDATE(), 20): 2011-05-16 10:57:47SELECT CONVERT(varchar(100), GETDATE(), 21): 2011-05-16 10:57:47.157SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/11 10:57:47 AMSELECT CONVERT(varchar(100), GETDATE(), 23): 2011-05-16SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47SELECT CONVERT(varchar(100), GETDATE(), 25): 2011-05-16 10:57:47.250SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2011 10:57AMSELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2011SELECT CONVERT(varchar(100), GETDATE(), 102): 2011.05.16SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2011SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2011SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2011SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2011SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2011SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2011 10:57:49:437AMSELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2011SELECT CONVERT(varchar(100), GETDATE(), 111): 2011/05/16SELECT CONVERT(varchar(100), GETDATE(), 112): 20110516SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2011 10:57:49:513SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547SELECT CONVERT(varchar(100), GETDATE(), 120): 2011-05-16 10:57:49SELECT CONVERT(varchar(100), GETDATE(), 121): 2011-05-16 10:57:49.700SELECT CONVERT(varchar(100), GETDATE(), 126): 2011-05-16T10:57:49.827SELECT CONVERT(varchar(100), GETDATE(), 130): 16 05 2011 10:57:49:513AMSELECT CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM⼀、sql server中的⽇期与时间函数1. GetDate( ) 返回系统⽬前的⽇期与时间select getdate()2.DateAdd (interval,number,date) 以interval指定的⽅式,向指定⽇期加上⼀段时间number,返回新的 datetime 值 例如:向⽇期加上2天select dateadd(day,2,'2010-10-15') --返回:2010-10-17 00:00:00.000以此类推:向⽇期倒推⼏天或⼏个⽉也是可以的。
sql server 中转换字符集的函数
SQL Server 中转换字符集的函数1. 概述在数据库开发中,我们经常会遇到需要转换字符集的情况。
SQL Server 提供了一些函数来帮助我们实现字符集的转换。
在本文中,我们将详细介绍 SQL Server 中用于转换字符集的函数,包括使用方法、示例和注意事项。
2. SQL Server 中的字符集在使用 SQL Server 时,我们经常会遇到不同的字符集。
常见的字符集包括 UTF-8、UTF-16、GB2312、GBK 等。
不同的字符集可能会对数据的存储和展示产生影响,因此我们需要对数据进行字符集的转换。
3. 转换字符集的函数SQL Server 提供了几个函数来帮助我们实现字符集的转换,包括CONVERT、CAST 和 COLLATE 三个主要的函数。
4. CONVERT 函数CONVERT 函数可以将一个表达式的数据类型转换为另一个数据类型。
在字符集转换中,我们可以使用 CONVERT 函数来将一个字符集转换为另一个字符集。
例如:```sqlSELECT CONVERT(nvarchar, column_name) AS new_column FROM table_name;```在这个例子中,我们将表中某一列的字符集从原有的字符集转换为nvarchar 类型的字符集。
5. CAST 函数CAST 函数和 CONVERT 函数的作用类似,都可以实现数据类型的转换。
在字符集转换中,我们也可以使用 CAST 函数来实现字符集的转换。
例如:```sqlSELECT CAST(column_name AS nvarchar) AS new_column FROM table_name;```6. COLLATE 函数COLLATE 函数可以指定一个特定的字符集用于排序和比较操作。
在字符集转换中,我们可以使用 COLLATE 函数来指定要使用的字符集。
例如:```sqlSELECT column_nameFROM table_nameORDER BY column_name COLLATE Chinese_PRC_CS_AS;```在这个例子中,我们指定了 Chinese_PRC_CS_AS 字符集用于对查询结果进行排序。
sqlserver的Convert(Datetime)格式转换及常用的日期函数总结
sqlserver的Convert(Datetime)格式转换及常⽤的⽇期函数总结使⽤sql server的时候经常会⽤到把sql的时期类型转换成各种格式的字符串,我们都知道的Convert的最后⼀个参数是数字代表了不同的格式。
⼀、CONVERT参数调⽤格式:CONVERT(data_type,expression[,style])convert(varchar(10),字段名,转换格式)⼆、说明:此样式⼀般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才⽤到.SELECT CONVERT(varchar(100), GETDATE(), 0) 07 15 2009 4:06PMSELECT CONVERT(varchar(100), GETDATE(), 1) 07/15/09SELECT CONVERT(varchar(100), GETDATE(), 2) 09.07.15SELECT CONVERT(varchar(100), GETDATE(), 3) 15/07/09SELECT CONVERT(varchar(100), GETDATE(), 4) 15.07.09SELECT CONVERT(varchar(100), GETDATE(), 5) 15-07-09SELECT CONVERT(varchar(100), GETDATE(), 6) 15 07 09SELECT CONVERT(varchar(100), GETDATE(), 7) 07 15, 09SELECT CONVERT(varchar(100), GETDATE(), 8) 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 9) 07 15 2009 4:06:26:513PMSELECT CONVERT(varchar(100), GETDATE(), 10) 07-15-09SELECT CONVERT(varchar(100), GETDATE(), 11) 09/07/15SELECT CONVERT(varchar(100), GETDATE(), 12) 090715SELECT CONVERT(varchar(100), GETDATE(), 13) 15 07 2009 16:06:26:513SELECT CONVERT(varchar(100), GETDATE(), 14) 16:06:26:513SELECT CONVERT(varchar(100), GETDATE(), 20) 2009-07-15 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 21) 2009-07-15 16:06:26.513SELECT CONVERT(varchar(100), GETDATE(), 22) 07/15/09 4:06:26 PMSELECT CONVERT(varchar(100), GETDATE(), 23) 2009-07-15SELECT CONVERT(varchar(100), GETDATE(), 24) 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 25) 2009-07-15 16:06:26.513SELECT CONVERT(varchar(100), GETDATE(), 100) 07 15 2009 4:06PMSELECT CONVERT(varchar(100), GETDATE(), 101) 07/15/2009SELECT CONVERT(varchar(100), GETDATE(), 102) 2009.07.15SELECT CONVERT(varchar(100), GETDATE(), 103) 15/07/2009SELECT CONVERT(varchar(100), GETDATE(), 104) 15.07.2009SELECT CONVERT(varchar(100), GETDATE(), 105) 15-07-2009SELECT CONVERT(varchar(100), GETDATE(), 106) 15 07 2009SELECT CONVERT(varchar(100), GETDATE(), 107) 07 15, 2009SELECT CONVERT(varchar(100), GETDATE(), 108) 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 109) 07 15 2009 4:06:26:513PMSELECT CONVERT(varchar(100), GETDATE(), 110) 07-15-2009SELECT CONVERT(varchar(100), GETDATE(), 111) 2009/07/15SELECT CONVERT(varchar(100), GETDATE(), 112) 20090715SELECT CONVERT(varchar(100), GETDATE(), 113) 15 07 2009 16:06:26:513SELECT CONVERT(varchar(100), GETDATE(), 114) 16:06:26:513SELECT CONVERT(varchar(100), GETDATE(), 120) 2009-07-15 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 121) 2009-07-15 16:06:26.513SELECT CONVERT(varchar(100), GETDATE(), 126) 2009-07-15T16:06:26.513SELECT CONVERT(varchar(100), GETDATE(), 130) 23 1430 4:06:26:513PMSELECT CONVERT(varchar(100), GETDATE(), 131) 23/07/1430 4:06:26:513PM。
SQL Server CONVERT() 函数
SQL Server CONVERT() 函数SQL Server CONVERT() 函数SQL Server Date 函数定义和用法CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
语法CONVERT(data_type(length),data_to_be_converted,style)data_type(length) 规定目标数据类型(带有可选的长度)。
data_to_be_converted 含有需要转换的值。
style 规定日期/时间的输出格式。
可以使用的style 值:Style ID Style 格式100 或者0 mon dd yyyy hh:miAM (或者PM)101 mm/dd/yy102 yy.mm.dd103 dd/mm/yy104 dd.mm.yy105 dd-mm-yy106 dd mon yy107 Mon dd, yy108 hh:mm:ss109 或者9 mon dd yyyy hh:mi:ss:mmmAM(或者PM)110 mm-dd-yy111 yy/mm/dd112 yymmdd113 或者13 dd mon yyyy hh:mm:ss:mmm(24h)114 hh:mi:ss:mmm(24h)120 或者20 yyyy-mm-dd hh:mi:ss(24h)121 或者21 yyyy-mm-dd hh:mi:ss.mmm(24h)126 yyyy-mm-ddThh:mm:ss.mmm(没有空格)130 dd mon yyyy hh:mi:ss:mmmAM131 dd/mm/yy hh:mi:ss:mmmAM实例下面的脚本使用CONVERT() 函数来显示不同的格式。
我们将使用GETDATE() 函数来获得当前的日期/时间:CONVERT(VARCHAR(19),GETDATE())CONVERT(VARCHAR(10),GETDATE(),110)CONVERT(VARCHAR(11),GETDATE(),106)CONVERT(VARCHAR(24),GETDATE(),113)结果类似:Dec 29 2008 11:45 PM12-29-200829 Dec 0829 Dec 2008 16:25:46.635实例:SELECT CONVERT(varchar(100), GETDATE(), 0): 0516200610:57AMS ELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06S ELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16S ELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06S ELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06S ELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-06S ELECT CONVERT(varchar(100), GETDATE(), 6): 160506S ELECT CONVERT(varchar(100), GETDATE(), 7): 0516, 06S ELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46SELECT CONVERT(varchar(100), GETDATE(), 9): 0516200610:57:46:827AMS ELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-06S ELECT CONVERT(varchar(100), GETDATE(), 11): 06/05/16S ELECT CONVERT(varchar(100), GETDATE(), 12): 060516SELECT CONVERT(varchar(100), GETDATE(), 13): 1605200610:57:46:937 S ELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967S ELECT CONVERT(varchar(100), GETDATE(), 20): 2006-05-1610:57:47 SELECT CONVERT(varchar(100), GETDATE(), 21): 2006-05-1610:57:47.15 7S ELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/0610:57:47 AM S ELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16S ELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47SELECT CONVERT(varchar(100), GETDATE(), 25): 2006-05-1610:57:47.25 0S ELECT CONVERT(varchar(100), GETDATE(), 100): 0516200610:57AM S ELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2006S ELECT CONVERT(varchar(100), GETDATE(), 102): 2006.05.16S ELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2006S ELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2006S ELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2006S ELECT CONVERT(varchar(100), GETDATE(), 106): 16052006S ELECT CONVERT(varchar(100), GETDATE(), 107): 0516, 2006S ELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49SELECT CONVERT(varchar(100), GETDATE(), 109): 0516200610:57:49:43 7AMS ELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2006S ELECT CONVERT(varchar(100), GETDATE(), 111): 2006/05/16S ELECT CONVERT(varchar(100), GETDATE(), 112): 20060516SELECT CONVERT(varchar(100), GETDATE(), 113): 1605200610:57:49:51 3S ELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547S ELECT CONVERT(varchar(100), GETDATE(), 120): 2006-05-1610:57:49S ELECT CONVERT(varchar(100), GETDATE(), 121): 2010-09-2815:25:09.577当月天数select day(dateadd(ms,-3,DATEADD(m, DATEDIFF(m,0,getdate())+1,0)))当月第一天select dateadd(d,-day(getdate())+1,getdate())当月最后一天select dateadd(d,-day(getdate()),dateadd(m,1,getdate()))本年最后一天select dateadd(d,-day(getdate()),dateadd(m,12,getdate()))当月第一个星期一SELECT DATEADD(wk, DATEDIFF(wk, '', DATEADD(dd, 6 - DAY(getdate()), getdate())), '')Sql Server中的日期与时间函数1. 当前系统日期、时间select getdate()2. dateadd 在向指定日期加上一段时间的基础上,返回新的datetime 值例如:向日期加上2天select dateadd(day,2,'2004-10-15') --返回:2004-10-1700:00:00.0003. datediff 返回跨两个指定日期的日期和时间边界数。
使用sqlserver convert()函数
//查询2010年2月创建的学生 List students = session.createQuery("select s.id, from Student s where date_format(s.createTime, '%Y-%m')=?") .setParameter(0, "2010-02") .list();
使用sqlserver convert()函数
由于在hql查询中使用 strToDate()函数,出现字符串转化为时间错误的问题,同事建议是sqlserver中自带的convert()函数。不过在存入 的时候 strToDate()有没有发生异常,也没有明白原因。这里是excel的导入书库的功能。 strToDate()函数: /** * 时间转换器 * 将字符时间装换成date类型 * @param strDate * @return */ private Date strToDate(String strDate) { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); ParsePosition pos = new ParsePosition(0); Date strtodate = formatter.parse(strDate,pos); return strtodate; } hql查询语句并返回list集合: private List<Cost> checkCost(String typeName,String amount,String orderNo,String costTime,String applicant) throws Exception{ List<Cost> costList=(List<Cost>)costDao.find("from Cost as cost where cost.isdeleted="+PropertyEnum.normal+" and ='"+typeName+"'" +"and cost.amount='"+amount+"'"+" and cost.orderNo='"+orderNo+"'"+" and CONVERT(VARCHAR(10),cost.costDate,120)='"+costTime+"'"+" and ='"+applicant+"'" ); return costList; } 说明:当时在costDate的查询是使用这样的"and cost.costDate='"+strToDate(costTime)"' 现在想来应该是没有多了一个""的问题,将转化得到的日期类型又转化为字符串类型,回头测试一下,waiting...... 不是多了""的问题,删了直接就变成了字符串而非参数,因为这是使用的字符串拼接来传的参数。So,我有去看了hql传递参数的几种写 法 按照我的想法应该是这样来写:
SQLserver中用convert函数转换日期格式
SQLserver中⽤convert函数转换⽇期格式SQL Server中⽂版的默认的⽇期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm例如:select getdate()2004-09-12 11:06:08.177整理了⼀下SQL Server⾥⾯可能经常会⽤到的⽇期格式转换⽅法:举例如下:select CONVERT(varchar, getdate(), 120 )2004-09-12 11:06:08select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')20040912110608select CONVERT(varchar(12) , getdate(), 111 )2004/09/12select CONVERT(varchar(12) , getdate(), 112 )20040912select CONVERT(varchar(12) , getdate(), 102 )2004.09.12select CONVERT(varchar(12) , getdate(), 101 )09/12/2004select CONVERT(varchar(12) , getdate(), 103 )12/09/2004select CONVERT(varchar(12) , getdate(), 104 )12.09.2004select CONVERT(varchar(12) , getdate(), 105 )12-09-2004select CONVERT(varchar(12) , getdate(), 106 )12 09 2004select CONVERT(varchar(12) , getdate(), 107 )09 12, 2004select CONVERT(varchar(12) , getdate(), 108 )11:06:08select CONVERT(varchar(12) , getdate(), 109 )09 12 2004 1select CONVERT(varchar(12) , getdate(), 110 )09-12-2004select CONVERT(varchar(12) , getdate(), 113 )12 09 2004 1select CONVERT(varchar(12) , getdate(), 114 )11:06:08.177select getdate()结果:2003-12-28 16:52:00.107select convert(char(8),getdate(),112)结果:20031228select convert(char(8),getdate(),108)结果:16:52:00select convert(char(8),getdate(),112)指⽇期格式规则如下:不带世纪数位 (yy) 带世纪数位 (yyyy) 标准输⼊/输出**1 101 美国 mm/dd/yyyy2 102 ANSI yy.mm.dd3 103 英国/法国 dd/mm/yy4 104 德国 dd.mm.yy5 105 意⼤利 dd-mm-yy6 106 - dd mon yy7 107 - mon dd, yy8 108 - hh:mm:ss- 9 或 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)10 110 美国 mm-dd-yy11 111 ⽇本 yy/mm/dd12 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)。
SQLSERVER中强制类型转换cast和convert的区别详解
这篇文章主要给大家介绍了关于sqlserver数据库中表名称字段比较的相关资料文中通过示例代码介绍的非常详细对大家学习或者使用sqlserver具有一定的参考学习价值需要的朋友们下面来一起学习学习吧
SQLSERVER中强制类型转换 cast和 convert的区别详解
SQL SERVER中强制类型转换cast和convert的区别 在SQL SERVER中,cast和convert函数都可用于类型转换,其功能是相同的, 只是语法不同. cast一般更容易使用,convert的优点是可以格式化日期和数值.
select CAST('123.4' as deciቤተ መጻሕፍቲ ባይዱal(9,2)) -- 123.40 select CONVERT(decimal(9,2), '123.4') -- 123.40
SQLserver中用convert函数转换日期格式的方法
SQLserver中⽤convert函数转换⽇期格式的⽅法SQL Server中⽂版的默认的⽇期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm例如:select getdate()整理了⼀下SQL Server⾥⾯可能经常会⽤到的⽇期格式转换⽅法:select CONVERT(varchar, getdate(), 120 )2004-09-12 11:06:08select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')20040912110608select CONVERT(varchar(12) , getdate(), 111 )2004/09/12select CONVERT(varchar(12) , getdate(), 112 )20040912select CONVERT(varchar(12) , getdate(), 102 )2004.09.12select CONVERT(varchar(12) , getdate(), 101 )09/12/2004select CONVERT(varchar(12) , getdate(), 103 )12/09/2004select CONVERT(varchar(12) , getdate(), 104 )12.09.2004select CONVERT(varchar(12) , getdate(), 105 )12-09-2004select CONVERT(varchar(12) , getdate(), 106 )12 09 2004select CONVERT(varchar(12) , getdate(), 107 )09 12, 2004select CONVERT(varchar(12) , getdate(), 108 )11:06:08select CONVERT(varchar(12) , getdate(), 109 )09 12 2004 1select CONVERT(varchar(12) , getdate(), 110 )09-12-2004select CONVERT(varchar(12) , getdate(), 113 )12 09 2004 1select CONVERT(varchar(12) , getdate(), 114 )11:06:08.177select getdate()结果:2003-12-28 16:52:00.107select convert(char(8),getdate(),112)结果:20031228select convert(char(8),getdate(),108)结果:16:52:00select convert(char(8),getdate(),112)规则如下:1 101 美国 mm/dd/yyyy2 102 ANSI yy.mm.dd3 103 英国/法国 dd/mm/yy4 104 德国 dd.mm.yy5 105 意⼤利 dd-mm-yy6 106 - dd mon yy7 107 - mon dd, yy8 108 - hh:mm:ss- 9 或 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)10 110 美国 mm-dd-yy11 111 ⽇本 yy/mm/dd12 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关于Emaker中字段的格式转换和字段间的运算代码可以加到属性⾥的“格式转换(读出)”和“格式转换(写⼊)”,table字段设定⾥的“字段”位置也可以灵活加函数。
SqlServer基础:类型转换Cast和Convert
SqlServer基础:类型转换Cast和Convert在SqlServer要对不同类型的数据进⾏运算时,需要将其转换为相同类型之后再做操作,⽽SqlServer中有两个函数可以进⾏数据转换,即:Cast和Convert1、Cast CAST(expression AS data_type[(length)]),其中expression为任何有效的表达式;data_type为要转换的数据类型;length为数据类型的长度,是可选参数,因为有些数据类型是没有长度的。
举例:CAST(Nid AS varchar(50))或CAST(Name AS int)2、Convert CONVERT(data_type [(length)],expression [,style]),其中data_type为要转换的数据类型;length为数据类型的长度(可选);expression为任何有效的表达式;style是样式;此函数⼀般⽤于将datetime和smalldatetime数据转换为字符数据(nchar,nvarchar,char,varchar,nchar或nvarchar数据类型)的⽇期格式的样式,或者⽤于将float,real,money或smallmoney数据转换为字符数据(nchar,nvarchar,char,varchar,)的字符串格式的样式,如果style为null,则返回的结果也为null。
对于样式来说,有⼀个样式表,其中的样式代号1,2,3,4或101,102,103代表着⼀种特定的格式。
举例:CONVERT(varchar(20),PublishDate,1),其中varchar的长度也可以控制时间格式的长度。
CONVERT(char(20),operationTime,120)。
sqlserver hex编码
在 SQL Server 中,你可以使用内置的函数来处理十六进制编码。
以下是一些常用的函数:
1. `CONVERT()` 函数:
```sql
SELECT CONVERT(VARCHAR(10), 0x4A, 16) AS HexValue;
```
这个例子将十六进制的值 `0x4A` 转换为一个字符串。
2. `CAST()` 函数:
```sql
SELECT CAST(0x4A AS VARCHAR(10)) AS HexValue;
```
这个例子也将十六进制的值 `0x4A` 转换为一个字符串。
3. `HEX()` 函数(仅适用于 SQL Server 2017 及更高版本):
```sql
SELECT HEX(100) AS HexValue;
```
这个例子将十进制的值 `100` 转换为其十六进制表示。
请注意,这些函数返回的是字符串。
如果你需要将它们用于二进制数据或进行其他复杂的操作,你可能需要进一步处理这些字符串。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL Server CONVERT() 函数
SQL Server Date 函数
定义和用法
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
语法
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length)规定目标数据类型(带有可选的长度)。
data_to_be_converted含有需要转换的值。
style规定日期/时间的输出格式。
可以使用的style值:
Style ID Style 格式
100 或者 0 monddyyyyhh:miAM (或者 PM)
101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 ddmonyy
107 Mon dd, yy
108 hh:mm:ss
109 或者 9 monddyyyyhh:mi:ss:mmmAM(或者 PM)
110 mm-dd-yy
111 yy/mm/dd
112 yymmdd
113 或者 13 ddmonyyyyhh:mm:ss:mmm(24h)
114 hh:mi:ss:mmm(24h)
120 或者 20 yyyy-mm-ddhh:mi:ss(24h)
121 或者 21 yyyy-mm-ddhh:mi:ss.mmm(24h)
126 yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130 ddmonyyyyhh:mi:ss:mmmAM
131 dd/mm/yyhh:mi:ss:mmmAM
实例
下面的脚本使用 CONVERT() 函数来显示不同的格式。
我们将使用 GETDATE() 函数来获得当前的日期/时间:
CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),110)
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)
结果类似:
Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635。