SQL-如果variable1为空,则选择variable2

时间:2019-10-21 18:13:26

标签: php mysql

"INSERT INTO `tableA`(
        `log_id`,
        `customer_id`,
        `order_id`,
        `message`,
        `payment_method`,
        `processed`,
        `date_added`
    )
    SELECT
        'null',
        `customer_id`,
        `order_id`,
        '$data[11]',
        '$data[6]',
        'yes',
        '$data[1]'

    FROM
        `tableB`,
        `tableC`
    WHERE
        `customer_id` = '$data[8]' AND `order_id` = '$data[7]'";

在此查询中,如果$data[11]为空或为空,我想为此插入$data[9]。 默认值必须为$ data [11],并且仅当$ data [11]为null或为空时,我才想使用$ data [9]。 希望有SQL或PHP解决方案。

1 个答案:

答案 0 :(得分:1)

使用NVL函数,如果第一个为NULL,它将返回默认值。在Oracle db中,它将如下所示:

 SELECT
    ...
    NVL('$data[11]', '$data[9]'),

在MySql中:

SELECT
    ...
    IFNULL('$data[11]', '$data[9]'),