【发布时间】:2014-01-08 13:01:19
【问题描述】:
我正在使用一个数据库,设计前端软件的白痴认为有必要创建一个单独的日期和时间字段,但是将日期列保留为 DATETIME 列,将时间保留为 VARCHAR 列。
p>基本上我的日期和时间如下所示:
日期 |时间
2007-10-06 00:00:00.000 |第1135章
不仅仅是将 2 under 1 列组合为适当的日期时间。
我正在尝试将 2 组合在一起,这样我就可以完全实现这一点,一个适当的 DATETIME 字段,将两组信息组合成即
2007-10-06 11:35:00.000
我正在为此苦苦挣扎。
我以为我可以逃脱
DECLARE @date DATETIME
DECLARE @time VARCHAR
SET @date = '2007-10-06 00:00:00.000'
SET @time = '1125'
SELECT TOP 1
@date + ( SUBSTRING(@time , 1 , 2) + ':' + SUBSTRING(@time , 2 , 2)
+ ':00' )
很遗憾没有,现在我想我想太多了,只是碰壁了。
任何人都可以在这件事上提供帮助并向我指出我哪里出错了:/
【问题讨论】:
-
用这个替换最终查询:
SELECT @date + ( SUBSTRING(@time , 1 , 2) + ':' + SUBSTRING(@time , 3 , 2) + ':00' ). -
@KarthikDV - 消息 241,级别 16,状态 1,第 7 行从字符串转换日期和/或时间时转换失败。 ://
-
@Lynchie,我已经测试了那个样本!。在此处查看完整代码:
DECLARE @date DATETIME DECLARE @time VARCHAR(4) SET @date = '2007-10-06 00:00:00.000' SET @time = '1125' SELECT @date + ( SUBSTRING(@time , 1 , 2) + ':' + SUBSTRING(@time , 3 , 2) + ':00' ).
标签: sql sql-server-2008 tsql