SQL-丢失datetime的时间部分

SQL-丢失datetime的时间部分,sql,sql-server,date,datetime,Sql,Sql Server,Date,Datetime,我有以下代码将nvarchar转换为datetime SELECT TRY_PARSE(CONVERT(NVARCHAR(255), LEFT([SubmitDate], 10), 103) AS DATETIME USING 'en-gb') AS [SubmitDate] FROM [ITSM_INCIDENT] 当我进行转换时,我丢失了日期时间的时间部分 e、 g “2017-01-01 13:23:01.000”改为“2017-01-01 00:00:00.000” 我如何编写它,使时

我有以下代码将nvarchar转换为datetime

SELECT TRY_PARSE(CONVERT(NVARCHAR(255), LEFT([SubmitDate], 10), 103) AS DATETIME USING 'en-gb') AS [SubmitDate]
FROM [ITSM_INCIDENT]
当我进行转换时,我丢失了日期时间的时间部分

e、 g

“2017-01-01 13:23:01.000”改为“2017-01-01 00:00:00.000”

我如何编写它,使时间不会全部变为0?

您正在使用
left()
仅获取变量的日期部分(前10个)

请尝试使用此选项:

SELECT TRY_PARSE(CONVERT(NVARCHAR(255), LEFT([SubmitDate], 23), 103) AS DATETIME USING 'en-gb') AS [SubmitDate]
FROM [ITSM_INCIDENT]
左(…,10)
将从字符串中删除时间部分。可能使用
left(col,19)
left(col,23)