如何将两列的值合并到表中?

时间:2019-02-04 10:28:40

标签: sql sql-server

我有一个定义为类的表-ID,日期,时间,会话,备注 整数自动递增 日期,时间和备注会自动添加

会话应为(日期+时间)的串联

假设日期和时间为varchar(50)

插入类(日期,时间,会话,备注)值(“ a”,“ b”,Concat(日期+时间),“ c”)

示例:
日期-2012年12月12日
时间-9:00-11:00 am
然后-> 会话-2012年12月12日上午9:00-11:00

3 个答案:

答案 0 :(得分:0)

如果会话的数据类型为CONCAT,为什么不使用VARCHAR

INSERT INTO t VALUES(CONCAT('2019-01-12', '12:00'))

答案 1 :(得分:0)

如果您使用正确的数据类型(日期为[Date]的日期和时间为[Time]的时间),则可以像下面的查询一样简单地编写。

INSERT INTO [YOUR_TABLE]([DATE], [TIME], [SESSION], REMARK)
VALUES (@DATE, @TIME, CAST(@DATEAS DATETIME) + CAST(@TIME AS DATETIME),@REMARK)

答案 2 :(得分:0)

您也可以尝试

CREATE TABLE #date (dt datetime)

declare @date Varchar(20) ='2019-01-29' 
declare @time Varchar(20)='11:06:31.095' 

INSERT INTO #date 
    SELECT CONVERT(datetime,Cast(@date as Datetime))+ CONVERT(datetime,Cast(@time as Datetime))

select * from #date

您可以将@date替换为日期列,将@time替换为时间列。