gpt4 book ai didi

sql - 将查询从 MSSQL 转换为 PostgreSQL

转载 作者:行者123 更新时间:2023-12-04 09:17:24 24 4
gpt4 key购买 nike

如果 UserName 只有数字,则此查询更新一列。

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)

最佳答案

考虑:

update mytable
set mycolumn = (username !~ '\d')::int::bit
这会产生一个 bit 1 的值如果 username不包含任何数字,否则 0 .
请注意,Postgres 支持 boolean数据类型,这在这里可能更有意义。这也将简单地查询:
update mytable
set mycolumn = (username !~ '\d')
请注意,我没有引用标识符。带引号的标识符通常不会增加任何值(value),并使查询不必要地冗长 - 我建议在您的设置中避免使用它们。

关于sql - 将查询从 MSSQL 转换为 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63159623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com