如果用户名只有数字,此查询将更新一列。
UPDATE [dbo].[MyTable]
SET [MyColumn] = CAST(CASE
WHEN UserName LIKE '%[^0-9]%'
THEN 0
ELSE 1
END AS BIT)
我需要把它重新翻译成postgresql。一定是这样的
UPDATE "MySheme"."MyTable"
SET "MyColumn" = CAST(CASE
WHEN "UserName" LIKE '%[^0-9]%'
THEN 0
ELSE 1
END AS BIT)
1条答案
按热度按时间kqhtkvqz1#
考虑:
这就产生了
bit
的价值1
如果username
不包含任何数字,否则0
.注意postgres支持
boolean
数据类型,在这里可能更有意义。这也将简化查询:注意,我没有引用标识符。引用的标识符通常不会增加任何值,并且会使查询变得不必要的冗长—我建议您在设置时避免使用它们。