dan*_*u11 6 sql sql-server sql-server-2005
我有这个问题
select CONVERT(varchar(5), tdate ,108) AS [Time] from table
Run Code Online (Sandbox Code Playgroud)
这给了我24小时格式的时间(军事)
我想将其转换为12小时格式,所以我尝试了下面的查询
select SUBSTRING(CONVERT(VARCHAR, tdate, 100),13,2) + ':'
+ SUBSTRING(CONVERT(VARCHAR, tdate, 100),16,2) + ''
+ SUBSTRING(CONVERT(VARCHAR, tdate, 100),18,2) AS T
from table
Run Code Online (Sandbox Code Playgroud)
我得到12小时的格式,但我只是好奇,如果有更短或更好的方式.任何帮助?
如果要转换当前日期时间,例如:
SELECT CONVERT(VARCHAR, getdate(), 100) AS DateTime_In_12h_Format
Run Code Online (Sandbox Code Playgroud)
您可以将所需的列放在查询中(例如示例中的tdate),而不是getdate().如果你想要12小时的时间而不是日期和时间使用substring/right来分隔它们.看来你已经知道如何=)了.
此页面列出了每个日期时间转换.如果您需要其他类型的转换,这非常方便.
这将只返回时间,而不是日期.
SELECT RIGHT(CONVERT(VARCHAR, getdate(), 100), 7) AS time
Run Code Online (Sandbox Code Playgroud)
对于您的表数据:
select RIGHT(CONVERT(varchar, tdate ,100), 7) AS [Time] from table
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43062 次 |
| 最近记录: |