Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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 转换字符串时间,如';18:15';截至2010年9月23日18:15:00_Sql_Sql Server 2005_Tsql - Fatal编程技术网

Sql 转换字符串时间,如';18:15';截至2010年9月23日18:15:00

Sql 转换字符串时间,如';18:15';截至2010年9月23日18:15:00,sql,sql-server-2005,tsql,Sql,Sql Server 2005,Tsql,如何将VARCHAR类时间'18:15'转换为DateTime类时间23/09/2010 18:15:00。 可以有任何日期格式,我只想有日期和时间 原因是我在db time中有一列VARCHAR(5)type。我有用户输入的字符串时间。我想这样比较一下 WHERE MyTable.Time < @userProvidedTime 其中MyTable.Time

如何将
VARCHA
R类时间
'18:15'
转换为
DateTime
类时间
23/09/2010 18:15:00
。 可以有任何日期格式,我只想有日期和时间

原因是我在db time中有一列
VARCHAR(5)
type。我有用户输入的字符串时间。我想这样比较一下

WHERE MyTable.Time < @userProvidedTime
其中MyTable.Time<@userProvidedTime

我不确定我是否完全理解您想要什么,但这应该可以做到:

Declare @time varchar(10)

set @time = '18:15'

Select Cast(floor(cast(getdate() as float))as datetime) + @time

使用时间函数:

DECLARE @userProvidedTime AS CHAR(5);
SET @userProvidedTime = '18:15';

SELECT DATEADD(DAY, 
          DATEDIFF(DAY, '1990-01-01 00:00:00.000', CURRENT_TIMESTAMP), 
          '1990-01-01 00:00:00.000'), 
+ CAST(@userProvidedTime AS DATETIME);