0

我正在开发一个 codeigniter 多语言应用程序,并且我即将在数据库中存储语言,如下所示:

+++++++++++++++++++++++++++++
   id   +   EN    +   HU
+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++
   hy   +   Hy!   +   Szia!
+++++++++++++++++++++++++++++
    1   +   One   +   Egy

可能会发生“HU”列中的值为空但填充为“EN”的情况,因为这是默认语言。所以问题是如果它为空,我如何选择具有“EN”值后备的“HU”列。

我知道通过选择两个列并运行一个简单的 PHP 脚本可以很容易地解决这个问题,但我的计划是只用 MySQL 来解决这个问题。

有任何想法吗?

4

1 回答 1

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条件是一种IF statementSQL

于 2013-05-24T11:10:51.460 回答