我在表格中有以下列:
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中是否有函数或转换代码可以执行此操作?谢谢你的帮助。
答案 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';
有关更多日期格式,请查看以下链接: