Sql server SQL Server中日期时间的时间部分
在SQL Server中,我需要从Sql server SQL Server中日期时间的时间部分,sql-server,datetime,Sql Server,Datetime,在SQL Server中,我需要从'hh:mi:ss'或'hh:mi:ss:mmm'格式中的日期时间'2014-01-01 14:13:00.000'中提取时间部分 我尝试过这个查询,但是输出是错误的,为什么 你能帮我吗 提前谢谢 SELECT CONVERT (VARCHAR (12), '2014-01-01 14:13:00.000', 114) 'hh:mi:ss:mmm', CONVERT (VARCHAR (8), '2014-01-01 14:13:00.000',
'hh:mi:ss'
或'hh:mi:ss:mmm'格式中的日期时间'2014-01-01 14:13:00.000'
中提取时间部分
我尝试过这个查询,但是输出是错误的,为什么
你能帮我吗
提前谢谢
SELECT
CONVERT (VARCHAR (12), '2014-01-01 14:13:00.000', 114) 'hh:mi:ss:mmm',
CONVERT (VARCHAR (8), '2014-01-01 14:13:00.000', 108) 'hh:mi:ss';
输出:
'hh:mi:ss:mmm' 'hh:mi:ss'
2014-01-01 1 2014-01-
试试这个:
SELECT cast(AttDate as time) [time]
这个怎么样
SELECT RIGHT('2014-01-01 14:13:00.000', 12)
或
如果日期在表中,您当然可以输入CONVERT(nvarchar,x)。如果您从datetime值转换,您的转换将是正确的:
SELECT
CONVERT (
VARCHAR (12),
CONVERT(datetime,'2014-01-01T14:13:00.000'),
114
) 'hh:mi:ss:mmm',
CONVERT (
VARCHAR (8),
CONVERT(datetime,'2014-01-01T14:13:00.000'),
108
) 'hh:mi:ss';
结果:
hh:mi:ss:mmm hh:mi:ss
------------ --------
14:13:00:000 14:13:00
实际上,您当前的代码要求将字符样式数据转换为字符样式数据,因此样式参数被忽略。试试这个
SELECT CONVERT(TIME(0),'2014-01-01 14:13:00.000') --> Will give 'hh:mi:ss'
SELECT CONVERT(TIME(3),'2014-01-01 14:13:00.000') --> Will give 'hh:mi:ss:mmm'
SQL Server也可以使用.NET格式函数。您可以按如下方式使用它:
SELECT
FORMAT( CONVERT(datetime,'2014-01-01T14:13:00.000'),
'HH:mm:ss:fff' ) 'hh:mi:ss:mmm (custom)',
FORMAT( CONVERT(datetime,'2014-01-01T14:13:00.000'),
'HH:mm:ss' ) 'hh:mi:ss (custom)',
FORMAT( CONVERT(datetime,'2014-01-01T14:13:00.000'),
'T', 'NL-nl' ) 'hh:mi:ss (standard)';
您使用的是什么版本的SQL Server?如果您使用的是SQL Server 2008或更高版本,请使用CAST(您的日期时间为时间(3))
然后显示在SQL Server 2008或更高版本上有效的
SELECT
FORMAT( CONVERT(datetime,'2014-01-01T14:13:00.000'),
'HH:mm:ss:fff' ) 'hh:mi:ss:mmm (custom)',
FORMAT( CONVERT(datetime,'2014-01-01T14:13:00.000'),
'HH:mm:ss' ) 'hh:mi:ss (custom)',
FORMAT( CONVERT(datetime,'2014-01-01T14:13:00.000'),
'T', 'NL-nl' ) 'hh:mi:ss (standard)';