我有一个查询,
SELECT CONVERT(VARCHAR, getdate(), 100) AS TwelveHH
Run Code Online (Sandbox Code Playgroud)
以上查询的输出是Sep 26 2012 6:02PM&我想从上面的查询中得到小时,我将使用查询,如,
SELECT RIGHT(CONVERT(VARCHAR, getdate(), 100), 7) AS getTime
Run Code Online (Sandbox Code Playgroud)
以上查询的输出是6:02PM.
但是,我希望输出像- 格式的秒.6:02:19PM(hh:mm:ss)
我怎么弄hh:mm:ss格式?
几年前,我写了这本方便的指南,今天仍然对我很有帮助 - 主要是因为我无法记住所有不同风格数字的含义:
SELECT LTRIM(RIGHT(CONVERT(CHAR(20), CURRENT_TIMESTAMP, 22), 11));
Run Code Online (Sandbox Code Playgroud)
在我的时区,这将返回:
9:12:55 AM
Run Code Online (Sandbox Code Playgroud)
这不正是你想要的东西-你可以使用REPLACE或STUFF如果删除该空间是非常重要的.例如
SELECT REPLACE(LTRIM(RIGHT(CONVERT(CHAR(20), CURRENT_TIMESTAMP, 22), 11)), ' ', '');
Run Code Online (Sandbox Code Playgroud)
在SQL Server 2012中,您将能够更轻松地执行此操作 - 您可以使用C#格式化格式:
SELECT FORMAT(CURRENT_TIMESTAMP, 'h:mm:ss tt');
Run Code Online (Sandbox Code Playgroud)
编辑根据以下评论中的新增和变更要求:
SELECT CONVERT(CHAR(11), CURRENT_TIMESTAMP, 109)
+ ' ' + LTRIM(RIGHT(CONVERT(CHAR(20), CURRENT_TIMESTAMP, 22), 11));
Run Code Online (Sandbox Code Playgroud)
结果:
Sep 26 2012 10:03:52 AM
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13026 次 |
| 最近记录: |