sqlserver日期转换问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver日期转换问题相关的知识,希望对你有一定的参考价值。
SQLSERVER中有无类似于ORACLE中的TODATE(DATE,‘YYYY年mm月dd日’)函数,即把日期转换成2012年12月12日这种格式
有的,用convert,要什麼样的格式可以参照如下:给你个例子,要转成2012/12/12
select convert(nvarchar(10),日期,111)
- 0 或 100 (1,2) 预设值 mon dd yyyy hh:miAM (或 PM)
1 101 U.S. mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yyyy
4 104 德国 dd.mm.yy
5 105 义大利 dd-mm-yy
6 106 (1) - dd mon yy
7 107 (1) - Mon dd, yy
8 108 - hh:mi:ss
- 9 或 109 (1,2) 预设值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM (或 PM)
10 110 USA mm-dd-yy
11 111 JAPAN yy/mm/dd
12 112 ISO yymmddyyyymmdd
- 13 或 113 (1,2) 欧洲预设值 + 毫秒 dd mon yyyy hh:mi:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (2) ODBC 标准 yyyy-mm-dd hh:mi:ss(24h)
- 21 或 121 (2) ODBC 标准 (含毫秒) yyyy-mm-dd hh:mi:ss.mmm(24h)
- 126 (4) ISO8601 yyyy-mm-ddThh:mi:ss.mmm (无空格)
- 127(6, 7) 具有时区 Z 的 ISO8601。 yyyy-mm-ddThh:mi:ss.mmmZ(无空格)
- 130 (1,2) 回历 (5) dd mon yyyy hh:mi:ss:mmmAM
- 131 (2) 回历 (5) dd/mm/yy hh:mi:ss:mmmAM 参考技术A 没有带汉字的,你可以自己写个自定义函数转换本回答被提问者采纳 参考技术B 没错,用CONVERT转换,具体用法一搜一大堆
SQLserver中用convert函数转换日期格式
SQLserver中用convert函数转换日期格式2008-01-15 15:51SQLserver中用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: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 select getdate() 结果:2003-12-28 16:52:00.107 select convert(char(8),getdate(),112) 结果:20031228 select convert(char(8),getdate(),108) 结果:16:52:00 select convert(char(8),getdate(),112) | 指日期格式 规则如下: 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 关于Emaker中字段的格式转换和字段间的运算代码可以加到属性里的“格式转换(读出)”和“格式转换(写入)”,table字段设定里的“字段”位置也可以灵活加函数。比如:‘AF‘+ID 或者ID+‘/‘+PWD ,convert(varchar(50),F1) , convert(int,%)-19110000 (读出) convert(char(8),convert(int,%)+19110000) (写入) 实现行的合计运算等等。加入:%系统变量%,则是调用在Emaker 系统中设定的系统变量。 |
以上是关于sqlserver日期转换问题的主要内容,如果未能解决你的问题,请参考以下文章