4

我如何转换下面的日期时间格式

2010-10-25 11:13:36.700

进入

2010 年 10 月 25 日或2010 年 10 月 25 日00:00:00.000

4

5 回答 5

5

获得“2010 年 10 月 25 日”

假设值作为字符串提供,而不是 DATETIME 数据类型:

SELECT REPLACE(CONVERT(VARCHAR, CAST('2010-10-25 11:13:36.700' AS DATETIME), 106), ' ', '-')

有关其他格式,请参阅CAST/CONVERT 文档,尽管您要求的格式需要后处理。

获得“2010-10-25 00:00:00.000”

表现最好的方法是使用 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 函数来简化日期格式。

于 2010-10-25T03:36:57.913 回答
2

检查这个

SELECT convert(VARCHAR, getdate(),106)

这会给你25 Oct 2010

SELECT REPLACE(convert(VARCHAR, getdate(),106), ' ' , '-')

这会给你25-Oct-2010

于 2010-10-25T03:29:18.233 回答
1

检查这是否可以帮助您:

SELECT REPLACE(CONVERT(VARCHAR(11), GETDATE(), 106), ' ', '-') 

你可以在这里获得更多信息

PD。Stackoverflow 有时可能太上瘾了,你可能想先尝试一下 google

于 2010-10-25T03:29:37.330 回答
1

选择转换(NVARCHAR(20),getDATE(),105)

于 2010-10-25T06:52:02.550 回答
0

请试试

    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
于 2021-04-06T15:53:44.493 回答