SQL Server dateFormat

本文介绍在SQL Server中使用CONVERT函数进行日期时间格式转换的方法,包括常见格式的转换示例及字符串到日期时间类型的转换技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Select CONVERT(varchar(100), GETDATE(), 0): 05 16 200610: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 0506
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 200610: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 200610:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14):10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-1610:57:47
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-1610:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47AM
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-1610:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 200610: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 052006
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 200610: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 200610:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114):10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-1610:57:49
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-1610:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126):2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 142710:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131): 18/04/142710:57:49:920AM


常用:
Select CONVERT(varchar(100), GETDATE(), 8):10:57:46
Select CONVERT(varchar(100), GETDATE(), 24):10:57:47
Select CONVERT(varchar(100), GETDATE(), 108):10:57:49
Select CONVERT(varchar(100), GETDATE(), 12):060516
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 

Execute thefollowing T-SQL scripts in Microsoft SQL Server Manangement StudioQuery Editor to demonstrate T-SQL convert and cast functions intransforming string date, string time & stringdatetime data to datetime data type. Other datetime manipulationexamples are presented as well.

-- Microsoft SQL Server string to date conversion - datetime stringformat sql server

-- MSSQL string to datetime conversion - convert char to date sqlserver

-- Subtract 100 from style number (format) for yy instead yyyy (orccyy with century)

SELECT convert(datetime, 'Oct23 2012 11:01AM', 100) --mon dd yyyy hh:mmAM (or PM)

SELECT convert(datetime, 'Oct23 2012 11:01AM') --2012-10-23 11:01:00.000

-- Without century (yy) string date conversion - convert string todatetime

SELECT convert(datetime, 'Oct23 12 11:01AM'    0) --mon dd yy hh:mmAM (or PM)

SELECT convert(datetime, 'Oct23 12 11:01AM') --2012-10-23 11:01:00.000

-- Convert string to datetime sql - convert string to datesql -sql dates format

-- T-SQL convert string to datetime - SQL Server convert string todate 

SELECT convert(datetime, '10/23/2016',         101) --mm/dd/yyyy

SELECT convert(datetime, '2016.10.23',         102) --yyyy.mm.dd

SELECT convert(datetime, '23/10/2016',         103) --dd/mm/yyyy

SELECT convert(datetime, '23.10.2016',         104) --dd.mm.yyyy

SELECT convert(datetime, '23-10-2016',         105) --dd-mm-yyyy

-- mon types are nondeterministic conversions, dependent onlanguage setting

SELECT convert(datetime, '23OCT 2016',        106) --dd mon yyyy

SELECT convert(datetime, 'Oct23, 2016',       107) --mon dd, yyyy

-- 2016-10-23 00:00:00.000

SELECT convert(datetime, '20:10:44',           108) --hh:mm:ss

-- 1900-01-01 20:10:44.000

-- mon dd yyyy hh:mm:ss:mmmAM (or PM) - sql time format

SELECT convert(datetime, 'Oct23 2016 11:02:44:013AM', 109)

-- 2016-10-23 11:02:44.013

SELECT convert(datetime, '10-23-2016',         110) --mm-dd-yyyy

SELECT convert(datetime, '2016/10/23',         111) --yyyy/mm/dd

SELECT convert(datetime, '20161023',           112) --yyyymmdd

-- 2016-10-23 00:00:00.000

SELECT convert(datetime, '23Oct 2016 11:02:07:577', 113) --dd mon yyyy hh:mm:ss:mmm

-- 2016-10-23 11:02:07.577

SELECT convert(datetime, '20:10:25:300',            114) --hh:mm:ss:mmm(24h)

-- 1900-01-01 20:10:25.300

SELECT convert(datetime, '2016-10-2320:44:11',     120) --yyyy-mm-dd hh:mm:ss(24h)

-- 2016-10-23 20:44:11.000

SELECT convert(datetime, '2016-10-2320:44:11.500',  121) --yyyy-mm-dd hh:mm:ss.mmm

-- 2016-10-23 20:44:11.500

SELECT convert(datetime, '2008-10-23T18:52:47.513', 126) --yyyy-mm-ddThh:mm:ss.mmm

-- 2008-10-23 18:52:47.513


-- Convert DDMMYYYY format to datetime

SELECT convert(datetime, STUFF(STUFF('31012016',3,0,'-'),6,0,'-'), 105)

-- 2016-01-31 00:00:00.000

--SQL string to datetime conversion without century - someexceptions

SELECT convert(datetime, '10/23/16',         1)                  --mm/dd/yy

SELECT convert(datetime, '16.10.23',         2)                  --yy.mm.dd

SELECT convert(datetime, '23/10/16',         3)                  --dd/mm/yy

SELECT convert(datetime, '23.10.16',         4)                  --dd.mm.yy

SELECT convert(datetime, '23-10-16',         5)                  --dd-mm-yy

SELECT convert(datetime, '23OCT 16',        6)                  --dd mon yy

SELECT convert(datetime, 'Oct23, 16',       7)                  --mon dd, yy

SELECT convert(datetime, '20:10:44',         8)                  --hh:mm:ss

SELECT convert(datetime, 'Oct23 16 11:02:44:013AM', 9)

SELECT convert(datetime, '10-23-16',         10)                 --mm-dd-yy

SELECT convert(datetime, '16/10/23',         11)                 --yy/mm/dd

SELECT convert(datetime, '161023',           12)                 --yymmdd

SELECT convert(datetime, '23Oct 16 11:02:07:577', 13)        --dd mon yy hh:mm:ss:mmm

SELECT convert(datetime, '20:10:25:300',       14)           --hh:mm:ss:mmm(24h)

SELECT convert(datetime, '2016-10-2320:44:11',20)            --yyyy-mm-dd hh:mm:ss(24h)

SELECT convert(datetime, '2016-10-2320:44:11.500', 21)       --yyyy-mm-dd hh:mm:ss.mmm

------------

-- SQL Datetime Data Type: Combine date & timestring into datetime - sql hh mm ss

-- String to datetime - mssql datetime - sql convert date - sqlconcatenate string

DECLARE @DateTimeValue varchar(32), @DateValue char(8), @TimeValue char(6)

SELECT     @DateValue = '20120718',

           @TimeValue = '211920'

SELECT @DateTimeValue =

            convert(varchar, convert(datetime, @DateValue), 111)

            + '' + substring(@TimeValue, 1, 2)

            + ':' + substring(@TimeValue, 3, 2)

            + ':' + substring(@TimeValue, 5, 2)

SELECT

     DateInput = @DateValue,

     TimeInput = @TimeValue,

     DateTimeOutput = @DateTimeValue;


http://www.blogjava.net/sealyu/archive/2009/11/05/301216.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值