我有一个包含s_name值的语言的表格如下:
'en_UK'
'en_US'
'de_CH'
'de_AT'
我希望获得所有不同的语言,而不是国家/地区。因此,例如,如果我只是那个例子,我需要得到:
en
de
这样做的最佳方法是什么?
我现在有这个:
SELECT DISTINCT SUBSTRING(name,1,2)
FROM my_languages
答案 0 :(得分:1)
试试这个:
SELECT DISTINCT SUBSTRING_INDEX(name, '_', 1) langName
FROM my_languages
或强>
SELECT SUBSTRING_INDEX(name, '_', 1) langName
FROM my_languages
GROUP BY langName
答案 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
/