2015-09-02 56 views
2

我想將數據插入到一個表中,從另一個表中選擇數據。例如,我這樣做:如何在select語句中將表插入到表中

INSERT INTO Customers (CustomerName, Country) 
SELECT SupplierName, Country FROM Suppliers; 

例如,

它的select語句返回,並插入:

Robert USA 
Richard Germany 
Pat  USA 

這工作得很好。

我現在想要做的是填充不屬於供應商表的日期轉移列。日期將於今日(GETDATE)只是

insert語句應該是:

insert into Customer(CustomerName, Country, datetransfered) 

我怎麼會在選擇返回的每一行添加「datetransfered」部分爲「今天的日期」(GETDATE)聲明?

我想它插入:

Robert USA   9/2/15 
Richard Germany  9/2/15 
Pat  USA   9/2/15 

回答

3

只需添加getdate(),並轉換爲一個日期在你的SELECT語句是這樣的:

INSERT INTO Customers (CustomerName, Country,datetransfered) 
SELECT SupplierName, Country,cast(getdate() as date) FROM Suppliers; 

結果:

+--------------+---------+----------------+ 
| CustomerName | Country | datetransfered | 
+--------------+---------+----------------+ 
| Robert  | USA  | 2015-09-02  | 
| Richard  | Germany | 2015-09-02  | 
| Pat   | USA  | 2015-09-02  | 
+--------------+---------+----------------+ 

SQL Server Demo

2

試試這個:

INSERT INTO Customers (CustomerName, Country, datetransfered) 
SELECT SupplierName, Country, getdate() FROM Suppliers; 

getdate()會在你datetransfered列插入今天的日期。

編輯:

如果你想只存儲日期部分,那麼你需要將它轉換爲getdate()返回類型爲日期時間

INSERT INTO Customers (CustomerName, Country, datetransfered) 
SELECT SupplierName, Country, cast(getdate() as date) FROM Suppliers 

,或者使用Convert()

INSERT INTO Customers (CustomerName, Country, datetransfered) 
SELECT SupplierName, Country, CONVERT(DATE, GETDATE()) FROM Suppliers 
相關問題