![](/img/trans.png)
[英]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.