首页 > 解决方案 > 使用 set 更新具有多个值的 SQL Server 表

问题描述

如何更新 SQL Server 表中的多个值?以下是表中 X 列的值:80、81、90 我希望将这些值更新为 0080、0081、0090

我一直在以这种方式更新每个值: update TBL_NAME set TXN_ID = '0094' where TXN_ID = '94'

我知道“IN”运算符不起作用。任何帮助,将不胜感激。先感谢您。

标签: sqlsql-server

解决方案


X这只有在是一个字符串时才有意义。在这种情况下,您可以使用:

update tbl_name
    set txn_id = right('0000' + txn_id, 4)
    where txn_id <> right('0000' + txn_id, 4);

如果x是任何类型的数字,则不能在其前面加上零。您将有两个选择:

  • 添加一个生成的列,该列是一个用零填充的字符串。
  • 将列转换为字符串,然后填充值。

推荐阅读