第二個表使用整數而不是字符串進行錯誤構建。原表使用了一個字符串。 (字段的字符串是壓縮成一個領域的其他三個數字ID汞合金)用於在特定字段的所有記錄中放置前綴的SQL查詢
原來,鏈接到其它表與詮釋到字符串有問題。我想將第二個表中的字段從整數更改爲字符串,並在現有整數前面加上前綴「00」(零 - 零) - 現在是一個字符串。這是兩者之間的唯一區別。
我也許可以匹配兩個以「喜歡」我猜,但要精確匹配,而這應該是一次性的修補程序。
謝謝!
喬利
第二個表使用整數而不是字符串進行錯誤構建。原表使用了一個字符串。 (字段的字符串是壓縮成一個領域的其他三個數字ID汞合金)用於在特定字段的所有記錄中放置前綴的SQL查詢
原來,鏈接到其它表與詮釋到字符串有問題。我想將第二個表中的字段從整數更改爲字符串,並在現有整數前面加上前綴「00」(零 - 零) - 現在是一個字符串。這是兩者之間的唯一區別。
我也許可以匹配兩個以「喜歡」我猜,但要精確匹配,而這應該是一次性的修補程序。
謝謝!
喬利
什麼(在MySQL)
SELECT CONCAT('00', CAST(field AS CHAR)) AS newfield
然而,怎麼樣從字符串轉換第一個表爲int?
首先添加字符串數據類型的另一列具有相同的數據作爲整數數據列。
UPDATE表SET列2 = CAST(COLUMN1 AS CHAR)
然後你就可以前綴 '00' 到列使用下面的查詢。
UPDATE表SET列2 = CONCAT( '00',列2)
希望這能解決你的問題
假設MySQL中,你要首先更改列的數據類型,這樣
ALTER TABLE tab MODIFY COLUMN IDBoth VARCHAR(10); -- or what ever size is needed
然後做一個更新,像這樣一個CONCAT:
UPDATE TAB as t1
JOIN tab as t2
ON t1.id1 = t2.id2 -- Add additionation join criteria if needed to get right join
SET t1.IDBOTH = CONCAT('00', t1.IDBOTH);
看到它在此SQLFIDDLE
您正在使用什麼數據庫管理系統與行動? –