【问题标题】:Create Procedure passing skip parameter or pass null创建过程传递skip参数或传递null
【发布时间】:2022-06-11 01:59:12
【问题描述】:

在 MariaDB 的 WHERE 子句中编写 IF 语句的最佳方法是什么


DELIMITER //
CREATE PROCEDURE `ReportAdditional`(
                                     IN param1 TEXT,
                                     IN param2 TEXT
                                   )
BEGIN
  SELECT *
  FROM customer
    LEFT JOIN items 
       ON customer.id = items .id
  WHERE
    IF param1 IS NULL THEN
      param1 = " ";
    END IF;
      -- something more
END//

这不起作用

【问题讨论】:

  • 详细说明您的需求。您想在 CALL 语句中跳过哪里?
  • @Akina 在哪里
  • 这个问题的答案实际上取决于您的数据的性质。您能否分享您的输入数据和预期输出的样本? @Hub
  • SET param1 = COALESCE(param1, ' '); 然后执行你的SELECT而不做任何检查。

标签: mariadb


猜你喜欢
  • 2019-06-09
  • 2012-10-19
  • 2023-04-05
  • 1970-01-01
  • 2011-06-02
  • 2022-07-22
  • 1970-01-01
  • 2022-06-11
  • 2016-11-23
相关资源
最近更新 更多