如何在SQL Server 2008中将24
小时格式化时间转换为12
小时格式化时间?
答案 0 :(得分:23)
你是否在时间类型的变量/列中有当前时间?如果是这样,很容易:
declare @t time
set @t = '14:40'
select CONVERT(varchar(15),@t,100)
结果:
2:40PM
如果它位于datetime(2)
变量中,那么您必须在运行CONVERT后删除日期部分。如果它在字符串中,则先CONVERT
到time
,然后使用上面的代码。
答案 1 :(得分:7)
有时您需要内联:
SELECT CONVERT(varchar(15), CAST(GETDATE() AS TIME), 100) as AmPmTime
答案 2 :(得分:6)
要添加到rAdmin的注释,语法为:
CONVERT(data_type,expression,style_code)
以下是您可以使用的其他一些样式代码:
SELECT
GETDATE() AS GetDate,
CONVERT(VARCHAR,GETDATE(),0) AS '0',
CONVERT(VARCHAR,GETDATE(),100) AS '100',
CONVERT(VARCHAR,GETDATE(),1) AS '1',
CONVERT(VARCHAR,GETDATE(),101) AS '101',
CONVERT(VARCHAR,GETDATE(),7) AS '7',
CONVERT(VARCHAR,GETDATE(),107) AS '107',
CONVERT(VARCHAR,GETDATE(),108) AS '108',
CONVERT(VARCHAR,GETDATE(),108) AS '108',
CONVERT(VARCHAR,GETDATE(),10) AS '10',
CONVERT(VARCHAR,GETDATE(),110) AS '110',
CONVERT(VARCHAR,GETDATE(),12) AS '12',
CONVERT(VARCHAR,GETDATE(),112) AS '112',
CONVERT(VARCHAR,GETDATE(),14) AS '14',
CONVERT(VARCHAR,GETDATE(),114) AS '114'
尝试发布结果集的图片,但我需要“获得超过10个声望来发布图片”。
答案 3 :(得分:5)
Select Right(IsNull(Convert(Varchar,GetDate(),100),''),7)
答案 4 :(得分:1)
SQL可以执行内联转换
数据库中的mytime是4:15:00
SELECT CONVERT(varchar(15), CAST(mytime AS TIME), 100) as my_time from mytable
答案 5 :(得分:0)
SQL Server不格式化时间。它是您的客户端应用程序,控制时间的显示方式。您应该更改应用程序或代码中的时间格式设置。