我正在开发一个codeigniter多语言应用程序,我即将在db中存储语言,如下所示:
+++++++++++++++++++++++++++++
id + EN + HU
+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++
hy + Hy! + Szia!
+++++++++++++++++++++++++++++
1 + One + Egy
在“HU”列中可能会出现一个值为空但在“EN”中填充的值,因为这是默认语言。所以问题是我如何选择“HU”列,如果它为空,则选择“EN”值后退。
我知道选择这两个列并运行一个简单的PHP脚本可以轻松解决,但我的计划是只用MySQL来解决这个问题。
有什么想法吗?
答案 0 :(得分:2)
尝试那样;
SELECT ( CASE WHEN HU IS NULL OR HU = '' THEN EN ELSE HU END ) AS LANG
FROM table_name
WHERE id = '1'
当hu为空时结果id ='1'
One
当hu不为空时结果id ='1'
Egy
注意:此查询只有在您尝试使用lang HU时才能正常工作!
CASE WHEN
条件是SQL的IF statement