如何在SQL Server中转换日期和时间

时间:2012-03-20 11:36:06

标签: sql sql-server sql-server-2008 sql-server-2005 datetime

我在表格中有以下列:

Signed_In_Date             Signed_Out_Time
11/1/2005 12:00:00 am      11/1/2005 10:27:00PM

我想将它们转换为以下输出:

Signed_In_Date      Signed_Out_Time
11/1/2005       10:27:00PM

SQL Server中是否有函数或转换代码可以执行此操作?谢谢你的帮助。

4 个答案:

答案 0 :(得分:4)

假设您引用的列是DATETIME列,我会使用以下代码:

仅限日期

SELECT CONVERT(VARCHAR(10), GETDATE(), 101)

仅限时间

SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100), 7))

您可以看到正在运行的查询/与here一起玩。

答案 1 :(得分:2)

对于Sign_In_Date使用

select CONVERT(VARCHAR(10),'11/1/2005 10:27:00PM',108)

输出:

11/1/2005 

对于Sing_Out_Time

declare @time time
set @time=cast('11/1/2005 10:27:00PM' as Time)
select convert(varchar(10),@time,100)

输出:

10:27PM

答案 2 :(得分:1)

试试:

select CONVERT(VARCHAR(10),Signed_Out_Time,108)  ,-- 108 is d/M/yyyy if you want mm/dd/yyy you should use 101
CONVERT(VARCHAR(8),Signed_In_Date,103)  

答案 3 :(得分:1)

您可以使用CONVERT将日期时间格式更改为您自己的格式:

SELECT CONVERT(VARCHAR(10),Signed_In_Date,101) as 'Signed_In_Date',
        CONVERT(VARCHAR(10),Signed_Out_Time,108) as 'Signed_Out_Time';

有关更多日期格式,请查看以下链接:

http://www.sql-server-helper.com/tips/date-formats.aspx