自定义sql日期时间格式如何
本文关键字:格式 时间 sql 日期 自定义 | 更新日期: 2023-09-27 18:12:06
我需要在类似2011 Oct 24
的sql server上将date time
转换为nvarchar
但我不能转换成这个。有人能帮忙吗?
没有完全匹配的格式。您可以使用substring
手动组装格式:
select substring(convert(varchar(20),getdate(),106),8,4) + ' ' +
substring(convert(varchar(20),getdate(),106),4,3) + ' ' +
substring(convert(varchar(20),getdate(),106),1,3)
注意:在SQL中进行格式化比在C#、Java或Ruby中进行客户端格式化要困难得多。
对于所需的确切格式,您需要分别获得日期的所有部分(日、月和年(,如:
SELECT DATENAME(YYYY,GETDATE()) + ' ' + CAST(DATENAME(MM,GETDATE()) AS VARCHAR(3)) + ' ' + DATENAME(DD,GETDATE())
您还可以将功能转换为其他格式,如:
SELECT CONVERT(VARCHAR(20),GETDATE(),106)
SELECT CONVERT(nvarchar(10), getdate(), 102)
您可以在此处找到所有转换代码:http://msdn.microsoft.com/en-us/library/ms187928.aspx
WITH d (d) AS (SELECT GETDATE())
SELECT DATENAME(YEAR, d) + ' ' + CONVERT(NVARCHAR(6), d, 109)
FROM d
输出:
-------------------------------------2011年10月24日