簡體   English   中英

SQL-如何從列中獲取最后兩個字符?

[英]SQL - How can i get the last two characters from a column?

我有三張桌子。

用戶-user_info-地區

我建立了一個內部聯接來獲取user_id和user_info。

Select * from users a inner join user_info b on a.id = b.user_id

但是我在user_info內有一個名為location的列,該列從特定位置返回ID。 像這樣:

00; 11

為了獲得位置,我必須將user_info表內連接到另一個名為Districts的表中,因為最后兩個字符是從District中獲得ID的。

這就是為什么我想內部聯接所有三個表,如下所示:

Select * from users a inner join user_info b on a.id = b.user_id inner join districts c on b.location = c.District_id

問題是,我只想從“位置”列中獲取最后兩個字符。 但是我越來越

00; 11 //我只想得到11

稍后,我將使用Json輸出所有內容,我想獲取用戶信息及其位置。

是否可以在SQL中“子串化”一列?

謝謝。

您可以在MySQL中使用SUBSTRING_INDEX在分號后獲取字符串

SELECT SUBSTRING_INDEX('00;11', ';', 2);

或您的情況:

Select  SUBSTRING_INDEX(Location, ';', 2),* from users a inner join user_info b on a.id = b.user_id inner join districts c on b.location = c.District_id

或者,您可以使用RIGHT來獲取字符串的最后兩個字符

SELECT RIGHT('00;11', 2);

是的。 請參閱: MySQL字符串函數

mysql> SELECT RIGHT('foobarbar', 4);
        -> 'rbar'

有關更多信息,請參見:

SUBSTR

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM