Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server中日期时间的时间部分_Sql Server_Datetime - Fatal编程技术网

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',

在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', 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)';