用MySQL查找字符串中的语言(使用子字符串?)

时间:2013-01-15 15:04:01

标签: mysql sql select substring

我有一个包含s_name值的语言的表格如下:

'en_UK'
'en_US'
'de_CH'
'de_AT'

我希望获得所有不同的语言,而不是国家/地区。因此,例如,如果我只是那个例子,我需要得到:

en
de

这样做的最佳方法是什么?

我现在有这个:

SELECT DISTINCT SUBSTRING(name,1,2) 
FROM my_languages

3 个答案:

答案 0 :(得分:1)

试试这个:

SELECT DISTINCT SUBSTRING_INDEX(name, '_', 1) langName 
FROM my_languages

SELECT SUBSTRING_INDEX(name, '_', 1) langName 
FROM my_languages 
GROUP BY langName

点击此链接MySQL STRING Functions

答案 1 :(得分:0)

这是一个简单的方法:

select distinct left(s_name, 2)
from t

这假设语言名称是左侧两个字符。

答案 2 :(得分:0)

这可以在Oracle和我认为的MySql中使用:

SELECT SUBSTR('en_UK',INSTR('en_UK','_')+1) country FROM dual
/