我需要一种方法来定义一个变量来保存 MYSQL 中表达式的结果,以便我可以在整个查询中使用该变量。
所以这是可能的:
SELECT
IF(VALID,EMPLOYEE_NAME,"NULL") AS NAME, /** <-- Note *VALID*
IF(VALID,ID,"NULL") AS ID, /** <-- And here...
IF(VALID,OCCUPATION,"NULL") AS OCCUPATION, /** <-- And here...
IF((**LONG EXPRESSION**), TRUE, FALSE) AS VALID; /** <-- Taken from here
其中 LONG EXPRESSION 可以是非常长的表达式,我需要为 IF 语句中的每个返回的列放置,有很多 IF。
我的直觉告诉我,我应该能够像在每一种程序语言中一样做到这一点:
$var = LONG_EXPRESSION(....);
if($var) {..};
if($var) {..};
if($var) {..};
if($var) {..};
这样,它更合乎逻辑,更不容易出错。易于维护,可读,甚至优化。
在 MYSQL 中有没有等价的?
因此,为每一行执行定义一个参数?