我有一張表,其中包含MAC地址列表,在某些情況下,這些MAC地址已被填充到十二位數字,而在其他情況下還沒有。檢查在MSSQL更新之前是否存在唯一值
即:00FF12345678或FF12345678
有其中在該表中存在兩個值的情況。我有一個函數用兩個零填充值,我可以計算這些重複項的出現次數,但我沒有時間或耐心去手動刪除重複項或填充那些還沒有記錄的重複項。
我想我可以用下面的語句更新的10位值,其正確的值:
UPDATE [rs_DEVICES]
SET [device] = dbo.pad_zero(12,[device])
WHERE LEN([device]) < 12
當然,這並不工作,因爲我只需要更新沒有一個現有的這些值12位數字的記錄。這個專欄的獨特約束阻止了我這樣做。
我需要一些在WHERE子句中的IF EXISTS語句,但我一直沒有能夠拿出任何有用的東西。
使用MSSQL Server 2008 R2。
想法?
在列 –