我有以下问题,我使用SQL Server MS,下面是我的结果.它看起来很简单,但我无法弄明白.
我的查询:
SELECT RIGHT(CONVERT(VARCHAR(26), Timein, 109), 14) from vwSignIn
Run Code Online (Sandbox Code Playgroud)
会给我这个9:12:16:597AM
我希望这是我的结果9:12:16 AM.
提前致谢.
Aar*_*and 18
这是一种只有一次转换的方法:
SELECT RIGHT(CONVERT(CHAR(20), GETDATE(), 22), 11);
Run Code Online (Sandbox Code Playgroud)
但是,您应该考虑在客户端进行格式化,其中字符串格式更强大且更合适.
在SQL Server 2012中,您将能够使用FORMAT(),这意味着您不必记住所有这些样式编号(但我仍然认为您最好在表示层中执行此操作):
SELECT FORMAT(GETDATE(), 'hh:mm:ss tt');
Run Code Online (Sandbox Code Playgroud)
请注意,FORMAT()相对于其他方法而言,这是昂贵的.
sge*_*des 13
这是你可以做到的一种方式:
CONVERT(VARCHAR(8), Timein, 108) + ' ' + RIGHT(CONVERT(VARCHAR(30), Timein, 9), 2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59458 次 |
| 最近记录: |