插入语句 - 省略一列

时间:2010-02-16 09:54:14

标签: sql sql-server

我正在尝试将所有数据插入表中,但只更改日期列

到目前为止,我有类似

的内容
INSERT INTO MyTable (SELECT * FROM MyTable...)

我想要做的是将其中一列设置为常量值(例如今天的日期而不是选择的日期)

有没有人知道这样做的简单方法

5 个答案:

答案 0 :(得分:4)

INSERT INTO MyTable (col1, col2, col3) (SELECT col1, col2, 'constant' FROM MyTable...)

答案 1 :(得分:1)

是的,你可以这样做:

INSERT INTO MyTable (SELECT MyTable.Id, MyTable.xxx, CONSTANT_VALUE FROM MyTable ...)

答案 2 :(得分:1)

我只想做ffg

   INSERT INTO MyTable
   Select col1, col2,....., THE_CONSTANT_VALUE, SOME_OTHER_VALUE from MyTable

答案 3 :(得分:1)

如果指定要插入的列,则可以执行此操作,如下所示:

INSERT INTO MyTable (Col1, Col2, DateVal, StaticValue) (SELECT Col1, Col2, getdate() As DateVal, 'test' As StaticValue FROM MyTable2)

这将从MyTable2获取Col1和Col2,但使用getdate()函数获取DateVal列的当前日期,并且插入的每一行都将对StaticValue列进行“test”。

这有帮助吗?

答案 4 :(得分:0)

要将Table中每行的所有日期字段更新为当前日期,请执行以下操作:

UPDATE MyTable SET thedatecolumn = GETDATE()

如果要从Table1插入到Table2,它们具有相同的结构:

INSERT INTO Table2 (column1, column2, column3, fixedcolumn) (SELECT column1, column2, 'textvalue' AS staticcolumn, GETDATE() AS functioncolumn FROM Table1)