我有一张表,其中包含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。
想法?
在列 –