[英]Is there a way to extract data from a map(varchar, varchar) column in SQL?
[英]Extract first word from a varchar column and reverse it
我的表中有以下数据
id nml
-- -----------------
1 Temora sepanil
2 Human Mixtard
3 stlliot vergratob
我需要通过提取nml
列中的第一个单词并以相反的顺序获取其最后3
字符来获得结果
这意味着输出应该像
nml reverse
----------------- -------
Temora sepanil aro
Human Mixtard nam
stlliot vergratob toi
您使用PostgreSQL的字符串函数来实现所需的输出
在这种情况下,我使用split_part
, right
和reverse
函数
select reverse(right(split_part('Temora sepanil',' ',1),3))
输出:
aro
因此您可以按照以下格式编写查询
select nml
,reverse(right(split_part(nml,' ',1),3)) "Reverse"
from tbl
regexp_split_to_array(string text, pattern text [, flags text ])
分割nml
regexp_split_to_array(string text, pattern text [, flags text ])
请参阅Postgres Doc了解更多信息。 reverse(str)
(请参阅Postgres Doc )将上一个拆分的第一个单词反转。 substr(string, from [, count])
(请参阅Postgres Doc )选择反向测试的前三个字母 询问
SELECT
nml,
substr(reverse(regexp_split_to_array(nml, E'\\s+')[0]),3) as reverse
FROM
MyTable
您可以使用SUBSTRING
, CHARINDEX
, RIGHT
和REVERSE
函数
这是语法
REVERSE(RIGHT(SUBSTRING(nml , 1, CHARINDEX(' ', nml) - 1),3))
样品:
SELECT REVERSE(RIGHT(SUBSTRING(nml , 1, CHARINDEX(' ', nml) - 1),3)) AS 'Reverse'
FROM TableNameHere
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.