需求
postgresql这么一个字段a,字段类似是字符串,字段值如'{1,3,1}’,null, ‘{2}’,现在需求是新增一列b,类型为in服务器托管网t,提取字段a的值,如'{1,3,1}’,提取括号的第一个值,如null则返回null,用sql语句完成
解决
假设你的字段 a
的类型为字符串,包含类似 {1,3,1}
, null
, {2}
这样的值,可以通过以下 SQL 语句新增一列 b
,并提取 a
字段中括号中的第一个值:
-- 添加新列 b
ALTER TABLE your_table ADD COLUMN b INTEGER;
-- 更新新列 b 的值
UPDATE your_table
SET b = CASE
WHEN a IS NULL THEN NULL
ELSE CAST(SUBSTRING(a FROM '[0-9]+' ) AS INTEGER)
END;
your_table
为实际的表名。
这里使用了 SUBSTRING
函数来提取字符串中的数字部分,然后通过 CAST
将其转换为整数。CASE
语句用于处理 a
字段为 null
的情况,将 b
字段也设为 null
。
这个 SQL 语句假设括号内只包含整数值,如果实际情况中可能有其他类型,需要根据实际情况服务器托管网进行调整。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
Jenkins 简介 Jenkins,最开始被称作 Hudson,是一个 Java 语言编写的开源的持续集成工具。Jenkins 在持续集成领域的市场份额居于主导地位,其被各种规模的团队用于各种语言和技术的项目中,比如:.NET、Ruby、Groovy、Gra…