数据内容如下: “一、应拉断路器(开关)和隔离开关(刀闸)(注明编号): 断开110kV新塘站10kV曾公村线F27曾公坑支线#17杆曾公坑#4公用台变低压侧4021开关、4022开关、4023开关、4024开关、4011开关,拉开低压侧4011G刀闸。 二、应合接地刀闸(注明编号)、装接地线(注明确实地点): 在110kV新塘站10kV曾公村线F27曾公坑支线#17杆曾公坑#4公用台变低压侧4011开关负荷侧验明三相及中性线确无电压后装设接地线一组。 三、应设遮栏、应挂标示牌(注明位置): 在110kV新塘站10kV曾公村线F27曾公坑支线#17杆曾公坑#4公用台变低压侧4011开关操作把手上悬挂“禁止合闸,线路有人工作”标示牌接地线1组。 ” 用Pgsql提取上方数据中以“接地线”开头进行分割,以分号为分隔符
时间: 2024-01-23 09:03:37 浏览: 29
可以使用正则表达式来提取以“接地线”开头的数据并以分号分隔。以下是示例代码:
```
SELECT regexp_split_to_table(regexp_replace('一、应拉断路器(开关)和隔离开关(刀闸)(注明编号): 断开110kV新塘站10kV曾公村线F27曾公坑支线#17杆曾公坑#4公用台变低压侧4021开关、4022开关、4023开关、4024开关、4011开关,拉开低压侧4011G刀闸。 二、应合接地刀闸(注明编号)、装接地线(注明确实地点): 在110kV新塘站10kV曾公村线F27曾公坑支线#17杆曾公坑#4公用台变低压侧4011开关负荷侧验明三相及中性线确无电压后装设接地线一组。 三、应设遮栏、应挂标示牌(注明位置): 在110kV新塘站10kV曾公村线F27曾公坑支线#17杆曾公坑#4公用台变低压侧4011开关操作把手上悬挂“禁止合闸,线路有人工作”标示牌接地线1组。 ', '.*接地线'), ';')
```
这会返回一个以分号分隔的字符串列表,其中每个元素都以“接地线”开头。
相关问题
数据库A,列名:操作任务为操作任务,列名操作步骤为操作步骤, 操作步骤的第一条数据为: 理工站,拉开2019K11刀闸,检查2018装设GH78刀闸在拉开; 第二条数据为: 广泰是的购物车站点,断开KV母线1M开关,检查KV母线1M开关在分闸; 用PGsql查看"操作步骤"列中, "断开"和"开关"之间的内容 与后面的"检查"和"开关在分闸"之间的内容一模一样; "拉开"和"刀闸"之间的内容 与后面的"检查"和"刀闸在拉开"之间的内容一模一样;
你可以使用如下的PGsql查询语句来查看操作步骤中, "断开"和"开关"之间的内容 与后面的"检查"和"开关在分闸"之间的内容是否完全一致,以及"拉开"和"刀闸"之间的内容 与后面的"检查"和"刀闸在拉开"之间的内容是否完全一致:
```
SELECT *
FROM A
WHERE
(操作步骤 ~ '断开.*开关.*检查.*开关在分闸')
AND
(操作步骤 ~ '拉开.*刀闸.*检查.*刀闸在拉开');
```
这个查询语句会从你的A表中选择出所有操作步骤描述中包含"断开"和"开关"的步骤,以及包含"检查"和"开关在分闸"的步骤,并且这两个内容之间没有其他字符,以及包含"拉开"和"刀闸"的步骤,以及包含"检查"和"刀闸在拉开"的步骤,并且这两个内容之间没有其他字符,然后将这些步骤输出到结果中,你可以查看这些步骤的内容是否完全一致。注意要把"A"替换成你的表名,"操作任务"和"操作步骤"替换成你的列名。
数据库A,列名:aa为操作任务,列名bb为操作步骤, bb的第一条数据为: 理工站,拉开2019K11刀闸,检查2018装设GH78刀闸在拉开; 第二条数据为: 广泰是的购物车站点,断开KV母线1M开关,检查KV母线1M开关在分闸; 用PGsql查看同一个“操作任务”的“操作步骤”中, "断开"和"开关"之间的内容 与其后面的"检查"和"开关在分闸"之间的内容一致
可以使用以下SQL语句来查询同一个“操作任务”的“操作步骤”中, "断开"和"开关"之间的内容 与其后面的"检查"和"开关在分闸"之间的内容一致的数据:
```
SELECT aa, bb
FROM 数据库A
WHERE aa IN (
SELECT aa
FROM 数据库A
WHERE bb LIKE '%断开%开关%'
GROUP BY aa
HAVING COUNT(DISTINCT SUBSTRING(bb, CHARINDEX('断开', bb)+2, CHARINDEX('开关', bb)-CHARINDEX('断开', bb)-2)) = 1
)
AND bb LIKE '%断开%开关%'+ SUBSTRING(bb, CHARINDEX('断开', bb)+2, CHARINDEX('开关', bb)-CHARINDEX('断开', bb)-2) + '%检查%开关在分闸%'
```
其中,`SUBSTRING(bb, CHARINDEX('断开', bb)+2, CHARINDEX('开关', bb)-CHARINDEX('断开', bb)-2)`用于提取出“断开”和“开关”之间的内容,`LIKE`和`%`用于模糊匹配对应的字眼。