mysql - MySQL 案例中的条件

标签 mysql

我有一个简单的程序,它应该在另一个表有行时返回 1,在没有行时返回 0。

BEGIN
DECLARE var INT;
SELECT COUNT(*) FROM myTable INTO var;
    CASE var WHEN var > 0 THEN
        SELECT 1 as NUMBER;
    WHEN var = 0 THEN
        SELECT 0 as NUMBER;
    END CASE;
END

SELECT COUNT(*) FROM myTable - 查询返回 0,但过程返回 1,CAST(var as UNSIGNED) 不起作用。如何修复?

最佳答案

你在混合 CASE形式。从 CASE var 中删除 var,或从您的条件中删除 var

你这样做的方式是,当 var = 0 时,你将 var (0)var > 0 (0) 进行比较code>,匹配,所以选择 1

在这里,我将 varCASE 子句中取出,但将其留在 WHEN 子句中:

BEGIN
DECLARE var INT;
SELECT COUNT(*) FROM myTable INTO var;
    CASE WHEN var > 0 THEN
        SELECT 1 as NUMBER;
    WHEN var = 0 THEN
        SELECT 0 as NUMBER;
    END CASE;
END

关于mysql - MySQL 案例中的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28222218/

相关文章:

mysql查询有多个not条件

php - Laravel orWhere 与相关表

mySQL 根据另一个表的多行更新列

javascript - 通过 Angular 代码对connection.php进行多次请求

mysql - 如何从存储在序列化 JSON 列中的 Mysql 列中提取数据?

php - Flash 使用 PHP 和 MySQL 从远程服务器获取数据

mysql - 使用双重连接选择多个表值

php - 显示动态创建路径中的图像

mysql - 缺少 mysql 查询的一些结果

mysql 或 mariadb 是带有分隔符的单行语句吗?