Sql 如何将两列合并的值插入表中?

Sql 如何将两列合并的值插入表中?,sql,sql-server,Sql,Sql Server,我有一个定义为class-Id、日期、时间、会话、备注的表 Int是自动递增的 日期、时间和备注将自动添加 会话应该是(日期+时间)的串联 假设日期和时间为varchar(50) 在类(日期、时间、会话、备注)中插入值('a','b',Concat(日期+时间),'c') 示例: 日期-2012年12月12日 时间-上午9:00-11:00 然后--> 会话-2012年12月12日9:00-11:00am如果会话是VARCHAR数据类型,为什么不使用CONCAT 如果您使用的是正确的数据类型,[

我有一个定义为class-Id、日期、时间、会话、备注的表 Int是自动递增的 日期、时间和备注将自动添加

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

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

在类(日期、时间、会话、备注)中插入值('a','b',Concat(日期+时间),'c')

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

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


如果您使用的是正确的数据类型,[Date]的日期和[Time]的时间,那么您可以简单地编写如下查询

INSERT INTO [YOUR_TABLE]([DATE], [TIME], [SESSION], REMARK)
VALUES (@DATE, @TIME, CAST(@DATEAS DATETIME) + CAST(@TIME AS DATETIME),@REMARK)
你也可以试试这个

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

请提供示例data@fa06我在上面编辑过!你是说像这样吗?在类中插入(日期、时间、会话、备注)值('a','b',Cast(日期+时间),'c')您能告诉我日期和时间的示例值吗?日期-2012年12月12日时间-9:00-11:00am会话-2012年12月12日9:00-11:00A数据类型是什么?varchar或date和time这只是varchar(50)我在会话中使用concat(date,time),但是error@WYMOWaiYan在此处选中此复选框,它的工作日期和时间不是VARCHAR数据类型dateTime@WYMOWaiYan根据varchar数据类型更新了答案。
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