Sql 将第一个单词提取到第一个空格-POSTGRES
又是我 我有一个返回此结果的查询:Sql 将第一个单词提取到第一个空格-POSTGRES,sql,postgresql,Sql,Postgresql,又是我 我有一个返回此结果的查询: select descripcion from evento where descripcion ~ 'Act. datos:Actualización'; 输出=> 我只想将第一个单词提取到第一个空格 我使用了以下查询: select upper(substring(substring(descripcion,28),0,length(substring(descripcion,28))-position(' ' in reverse(substring(
select descripcion from evento where descripcion ~ 'Act. datos:Actualización';
输出=>
我只想将第一个单词提取到第一个空格
我使用了以下查询:
select upper(substring(substring(descripcion,28),0,length(substring(descripcion,28))-position(' ' in reverse(substring(descripcion,28)))+1)) from evento where descripcion ~ 'Act. datos:Actualización';
输出=>
但它给了我一切,不仅仅是第一个空格前的第一个单词
**如何得到以下结果
SELECT split_part('CARMEN DE NEVANTIA',' ',1);
split_part
------------
CARMEN
所以你的情况应该是
SELECT
upper(
split_part(
trim(substring(descripcion,28)),' ',1))
FROM evento
WHERE descripcion ~ 'Act. datos:Actualización';
演示:使用regexp\u替换:
选择上部(regexp\u替换(
描述,
“^Act\.datos:Realización de([a-z]+).+$”,
'\1'))
从evento
其中描述“^Act”。datos:Realización de([a-z]+).+$;
请。请注意,为了使其更简单,用于过滤和文本提取的正则表达式是相同的。我已经修正了你的一点,并添加了一个捕获组。哇,我想我已经看到了这一切。你永远不会停止学习+1@Daniel谢谢博士后当然有很多窍门;)在这里,我也每天学习一个新的技巧。