使用SQL Server 2005
表1
时间
12/05/2009 08:30:49
12/05/2009 17:00:00
13/05/2009 21:00:00
...
上表这两个值都是相同的列,这里我想分隔日期和时间等列
预期产出
Date Time
12/05/2009 08:30:49
12/05/2009 17:00:00
13/05/2009 21:00:00
答案 0 :(得分:11)
您可以检索单独的日期和时间部分,例如:
SELECT
CONVERT(VARCHAR(10),DateField,101) as DatePart,
CONVERT(VARCHAR(10),DateField,108) as TimePart
FROM YourTable
有关详细信息,请参阅CONVERT documentation。
上面的代码片段将DataPart和TimePart作为varchar返回。如果您有兴趣将它们检索为日期时间字段,请尝试:
SELECT
DATEADD(D, 0, DATEDIFF(D, 0, DateField)) as DatePart,
DATEADD(day, -DATEDIFF(D, 0, DateField), DateField) as TimePart
FROM YourTable
答案 1 :(得分:3)
以下查询分别返回当前系统日期/时间的日期和时间:
选择 CONVERT(VARCHAR(8),GETDATE(),108)AS [时间], CONVERT(VARCHAR(10),GETDATE(),101)AS [date]
答案 2 :(得分:1)
select
CONVERT(VARCHAR(8), GETDATE(), 108) as [time],
CONVERT(VARCHAR(8), GETDATE(), 111) as [date]
答案 3 :(得分:1)
对pmarflee的答案稍作修改,因为你似乎想要日期为dd / mm / yy而不是mm / dd / yy:
SELECT CONVERT(VARCHAR(8) , GETDATE() , 108) AS [time], CONVERT(VARCHAR(10) , GETDATE() , 103) AS [date]