Sql-Server

通過連接 2 個 int 列來更新字元串欄位

  • August 20, 2018

我有 2 列 anint和 a tiny int,我想varchar用 value 更新另一列 a one column1 + '-' + column2。像這樣的虛擬碼:

UPDATE COLUMN3 varchar = CONCAT (COLUMN1 INT AND + COLUMN2 TINYINT);

我怎樣才能用真正的程式碼做到這一點?

需要參考你的表。CONCAT函式將處理 和 之間INT的轉換TINY INT

UPDATE YourTableName SET Column3 = CONCAT(Column1, '-', Column2)

NULL值被視為空字元串 ( ''),帶有CONCAT. 如果要過濾掉這些記錄,請添加IS NOT NULLWHERE條件。

UPDATE YourTableName SET Column3 = CONCAT(Column1, '-', Column2) 
WHERE Column1 IS NOT NULL AND Column2 IS NOT NULL

您也可以顯式轉換為VARCHAR,但請記住,以NULL這種方式(與 )連接的任何值+都會產生NULL結果。

UPDATE YourTableName SET 
   Column3 = CONVERT(VARCHAR(50), Column1) + '-' + CONVERT(VARCHAR(50), Column2)

引用自:https://dba.stackexchange.com/questions/215373