Pen*_*uen 1 sql sql-server sql-server-2005
DECLARE @DateNow smalldatetime
SET @DateNow='12:30'
select @DateNow
-------------------------------------OR--------------------------------------
select CAST( '12:30' as datetime )Run Code Online (Sandbox Code Playgroud)
结果:1900-01-01 12:30:00.000(我不想要这个)
但我需要时间格式的结果不是字符串而不是日期时间?
结果:12:30(我想要这个)
就像José所说,你可以使用CONVERT将日期时间显示为日期.MSDN列出了所有可能的格式.例如,格式8是hh:mi:ss:
select convert(varchar(32),getdate(),8)
12:51:21
Run Code Online (Sandbox Code Playgroud)
现在,您可以通过指定更少的字符来减少秒数:
select convert(varchar(5),getdate(),8)
12:51
Run Code Online (Sandbox Code Playgroud)
另一种经常使用的格式是121,yyyy-mm-dd hh:mi:ss.mmm(24h):
select convert(varchar(32),getdate(),121)
2009-05-08 12:51:21.987
Run Code Online (Sandbox Code Playgroud)
在哪里可以选择时间部分:
select substring(convert(varchar(32),getdate(),121),12,5)
12:51
Run Code Online (Sandbox Code Playgroud)
或者组合字符串技巧:
select right(convert(varchar(16),getdate(),121),5)
12:51
Run Code Online (Sandbox Code Playgroud)
对?对!
SQL Server 2008中有一种TIME类型,但在以前的版本中,您可以将其表示为varchar以供显示.
这是您可以以所需格式检索DATETIME字段的时间部分的方法.
DECLARE @DateNow smalldatetime
SET @DateNow = GETDATE() -- 2009-05-08 12:58:02.680
SELECT CONVERT(CHAR(5), @DateNow, 8)
-- this returns the time portion as 12:58
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23928 次 |
| 最近记录: |