就地更新SQL
我想更正一些字符长度错误的列 我的语法哪里有错就地更新SQL,sql,Sql,我想更正一些字符长度错误的列 我的语法哪里有错 UPDATE tbl SET column = (SELECT (left(string, 3) + left(right(string, 8), 6) + right(string, 1)) FROM tbl WHERE LEN(string) <> 10) 您的子查询将找不到您
UPDATE tbl
SET column = (SELECT (left(string, 3) +
left(right(string, 8), 6) +
right(string, 1))
FROM tbl
WHERE LEN(string) <> 10)
您的子查询将找不到您正在更新的同一行,因此逻辑将不符合您的预期 好消息是,您根本不需要子查询,因为您一次只对一行进行操作
UPDATE tbl
SET column = LEFT(column, 3) + LEFT(RIGHT(column, 8), 6) + RIGHT(column, 1)
WHERE LEN(column) <> 10
queryPlease标记dbms的末尾有一个额外的右括号。那里有些非ANSI SQL。。。