我如何转换下面的日期时间格式
2010-10-25 11:13:36.700
进入
2010 年 10 月 25 日或2010 年 10 月 25 日00:00:00.000
我如何转换下面的日期时间格式
2010-10-25 11:13:36.700
进入
2010 年 10 月 25 日或2010 年 10 月 25 日00:00:00.000
假设值作为字符串提供,而不是 DATETIME 数据类型:
SELECT REPLACE(CONVERT(VARCHAR, CAST('2010-10-25 11:13:36.700' AS DATETIME), 106), ' ', '-')
有关其他格式,请参阅CAST/CONVERT 文档,尽管您要求的格式需要后处理。
表现最好的方法是使用 DATEADD & DATEDIFF:
SELECT DATEADD(d, DATEDIFF(dd, 0, '2010-10-25 11:13:36.700'), 0)
参考:
WITH sample AS (
SELECT CAST('2010-10-25 11:13:36.700' AS DATETIME) dt)
SELECT REPLACE(CONVERT(VARCHAR, s.dt, 106), ' ', '-') AS col1,
DATEADD(d, DATEDIFF(dd, 0, s.dt), 0) AS col2
FROM sample s
回报:
col1 col2
-------------------------------------
25-Oct-2010 2010-10-25 00:00:00.000
由于您使用的是 SQL Server 2005,因此您可以通过创建允许您使用 .NET 日期格式的 SQLCLR 函数来简化日期格式。
检查这个
SELECT convert(VARCHAR, getdate(),106)
这会给你25 Oct 2010
和
SELECT REPLACE(convert(VARCHAR, getdate(),106), ' ' , '-')
这会给你25-Oct-2010
检查这是否可以帮助您:
SELECT REPLACE(CONVERT(VARCHAR(11), GETDATE(), 106), ' ', '-')
你可以在这里获得更多信息
PD。Stackoverflow 有时可能太上瘾了,你可能想先尝试一下 google
选择转换(NVARCHAR(20),getDATE(),105)
请试试
SELECT CONVERT(varchar, GETDATE(), 1) --12/30/06
SELECT CONVERT(varchar, GETDATE(), 2) --06.12.30
SELECT CONVERT(varchar, GETDATE(), 3) --30/12/06
SELECT CONVERT(varchar, GETDATE(), 4) --30.12.06
SELECT CONVERT(varchar, GETDATE(), 5) --30-12-06
SELECT CONVERT(varchar, GETDATE(), 6) --30 Dec 06
SELECT CONVERT(varchar, GETDATE(), 7) --Dec 30, 06
SELECT CONVERT(varchar, GETDATE(), 10) --12-30-06
SELECT CONVERT(varchar, GETDATE(), 11) --06/12/30
SELECT CONVERT(varchar, GETDATE(), 12) --061230
SELECT CONVERT(varchar, GETDATE(), 23) --2006-12-30
SELECT CONVERT(varchar, GETDATE(), 101) --12/30/2006
SELECT CONVERT(varchar, GETDATE(), 102) --2006.12.30
SELECT CONVERT(varchar, GETDATE(), 103) --30/12/2006
SELECT CONVERT(varchar, GETDATE(), 104) --30.12.2006
SELECT CONVERT(varchar, GETDATE(), 105) --30-12-2006
SELECT CONVERT(varchar, GETDATE(), 106) --30 Dec 2006
SELECT CONVERT(varchar, GETDATE(), 107) --Dec 30, 2006
SELECT CONVERT(varchar, GETDATE(), 110) --12-30-2006
SELECT CONVERT(varchar, GETDATE(), 111) --2006/12/30
SELECT CONVERT(varchar, GETDATE(), 112) --20061230