2015-10-07 26 views
0

我有以下我的表中的數據從VARCHAR列中提取第一個字和扭轉它

id nml    
-- ----------------- 
1 Temora sepanil  
2 Human Mixtard  
3 stlliot vergratob 

我需要在nml列提取第一個字得到的結果和逆序

獲得其最後 3字符

這意味着輸出應該像

nml    reverse 
----------------- ------- 
Temora sepanil aro  
Human Mixtard  nam  
stlliot vergratob toi 

回答

0

您使用PostgreSQL的string functions以達到所需的輸出

在這種情況下

現在用split_partrightreverse功能

select reverse(right(split_part('Temora sepanil',' ',1),3)) 

輸出:

aro 

所以你可以寫你的查詢在以下格式

select nml 
     ,reverse(right(split_part(nml,' ',1),3)) "Reverse" 
from tbl 
0
  1. 斯普利特nml使用regexp_split_to_array(string text, pattern text [, flags text ])參考Postgres Doc欲知更多信息。
  2. 使用reverse(str)(請參考Postgres Doc)將上一個分割的第一個單詞反轉。
  3. 使用substr(string, from [, count])(參見Postgres Doc)選擇反向測試的前三個字母

查詢

SELECT 
    nml, 
    substr(reverse(regexp_split_to_array(nml, E'\\s+')[0]),3) as reverse 
FROM 
    MyTable 
0

可以使用SUBSTRINGCHARINDEXRIGHTREVERSE功能

這裏的語法

​​

樣品:

SELECT REVERSE(RIGHT(SUBSTRING(nml , 1, CHARINDEX(' ', nml) - 1),3)) AS 'Reverse' 
    FROM TableNameHere 
相關問題