【发布时间】:2017-08-29 20:16:14
【问题描述】:
我有 table1 和 table2,我正在根据表 1 + 2 中的行将数据插入到 table3。我需要在数据插入时将证据放入表 3。
表 1:
Column1
a
b
d
e
g
h
i
表2:
Column1
a
b
c
d
e
f
代码:
INSERT INTO [dbo].[table3](column1)
SELECT column1
FROM [dbo].[table2]
WHERE NOT EXISTS (SELECT
FROM [dbo].[table1]
WHERE column1 = column1);
结果:
表3:
Column1 Column2
c
f
我需要进入存在表和存在列(varchar(50) 或 timestamp)任何格式的时间,这将显示使用我当前的脚本将值插入表的时间。
例子:
表3:
Column1 Column2
c 4/4/2017
f 4/4/2017
几天后表格应该是这样的:
表3:
Column1 Column2
c 4/4/2017
f 4/4/2017
x 5/4/2017
y 6/4/2017
z 10/4/2019
感谢您升级我的脚本:
类似:
INSERT INTO table3 (Column2)
VALUES (CURRENT_TIMESTAMP);
【问题讨论】:
-
永远不要将日期时间信息存储在 varchar 列中。这是一个可怕的想法。对于此类信息,我们有一个日期时间数据类型。忘记TIMESTAMP,它与时间或日期无关。对于手头的问题,您可以使用默认的 getdate() 向 datetime 列添加非空约束,或者在 insert 语句中使用 getdate() 提供当前时间。
标签: sql sql-server timestamp insert-into