sql server Convert日期处理

原创 2018年04月16日 16:03:51

一般在sql server 中对日期进行处理都会使用Convert 函数。但是在对日开发中,am 或者 pm 需要显示成 (午前)(午後)。这时用sql server 的convert函数不能直接满足要求,需要通过case when 搭配其他函数来获取这种日期格式。详细方法如下:

select GETDATE(),CONVERT(nvarchar(100),getdate(),120) + CASE WHEN RIGHT(CONVERT(nvarchar(100),getdate(),100),2)='PM' THEN N' 午後' else N' 午前' end
查询结果如下:2018-04-16 15:59:58.637 2018-04-16 15:59:58 午後。

不带世纪数位 (yy)带世纪数位 (yyyy)
标准

输入/输出**
-0 或 100 (*)默认值mon dd yyyy hh:miAM(或 PM)
1101美国mm/dd/yyyy
2102ANSIyy.mm.dd
3103英国/法国dd/mm/yy
4104德国dd.mm.yy
5105意大利dd-mm-yy
6106-dd mon yy
7107-mon dd, yy
8108-hh:mm:ss
-9 或 109 (*)默认值 + 毫秒mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10110美国mm-dd-yy
11111日本yy/mm/dd
12112ISOyymmdd
-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

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

  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


SqlServer Convert函数 日期格式化

1.convert函数的作用sql中最常用的数据类型就是各种时间了。实际使用的时候,我们经常需要将各种时间转化为其他新的数据类型。这个时候就是轮到convert函数显示威力了。 convert() ...
  • bitcarmanlee
  • bitcarmanlee
  • 2016年07月18日 19:53
  • 2983

sql server convert函数的第三个参数大全

SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSELECT CONVERT(varchar(100), GETDATE()...
  • yubofighting
  • yubofighting
  • 2010年10月13日 13:11
  • 5458

SQL server Convert 时间截取(转化)样式

SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM SELECT CONVERT(varchar(100), GETDATE...
  • xyw_Eliot
  • xyw_Eliot
  • 2013年06月18日 11:31
  • 2123

终于真正理解SQL Server convert()函数啦

终于真正理解SQL Server convert()函数啦 convert(varchar(10),'2012-06-05',120) 要写120或121,因为120代表yyyy-mm-dd hh...
  • ylchou
  • ylchou
  • 2012年06月07日 18:02
  • 771

Microsoft Sql Server 中利用Convert 函数转换Datetime 到 String

0 Feb 22 2006 4:26PM CONVERT(CHAR(19), CURRENT_TIMESTAMP, 0) ...
  • forlinux
  • forlinux
  • 2008年07月28日 12:45
  • 12159

SQL CONVERT语句 STYLE参数说明

转载自:http://technet.microsoft.com/zh-cn/library/ms187928.aspx 官方帮助   Date 和 Time 样式 如果 express...
  • CB_CB
  • CB_CB
  • 2012年08月17日 01:59
  • 3132

使用sqlserver convert()函数

由于在hql查询中使用 strToDate()函数,出现字符串转化为时间错误的问题,同事建议是sqlserver中自带的convert()函数。不过在存入的时候 strToDate()有没有发生异常,...
  • pc_gad
  • pc_gad
  • 2015年07月22日 11:55
  • 1529

sqlserver的类型转换CAST和Convert

我们知道sqlserver是提供两种类型转换的内置函数。一个Cast(),另一个是Convert()。两种方法的语法是不相同的。 1.Sysnax for Cast        CAST(exp...
  • a631464421
  • a631464421
  • 2015年03月24日 10:59
  • 3370

SQL Server中CONVERT() 函数的使用

简介: CONVERT() 函数是把日期转换为新数据类型的通用函数,一般用于日期的转换。语法格式: CONVERT(data_type(length),data_to_be_converted,s...
  • jacksonary
  • jacksonary
  • 2017年12月14日 11:18
  • 103

sql server xml字段的操作

今天用到sql server 的xml字段,首先这个项目中的xml字段都存为了ntext字段,所以第一个操作 ntext 转化为 xml以下摘自http://blog.darkthread.net/b...
  • hliq5399
  • hliq5399
  • 2012年12月18日 17:19
  • 6375
收藏助手
不良信息举报
您举报文章:sql server Convert日期处理
举报原因:
原因补充:

(最多只允许输入30个字)