php - 如何在操作数值为NULL时切换到IS运算符?

标签 php mysql pdo prepared-statement

我有一个 INT 的 mysql 列,它可以包含 0 并且它也可以是 NULL

目前我正在使用这个:

SELECT
    ...
FROM
    `mytable`
WHERE
    IF(:mydata IS NULL, `mycolumn` IS NULL, `mycolumn` = :mydata)

但我想知道是否有更短更简洁的方法来获得相同的结果

提前致谢

最佳答案

使用 <=> 用于 NULL 安全比较的比较运算符:

SELECT
    ...
FROM
    `mytable`
WHERE
    `mycolumn` <=> :mydata

关于php - 如何在操作数值为NULL时切换到IS运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21155384/

相关文章:

php - iOS - 如何将数组作为参数传递给 AFNetworking (Objective-C)

javascript - 将php数据表导出为pdf版本

php - 登记表.php

mysql - 如何使用两个中间表进行连接?

PHP PDO 正在破坏我的 $_POST 值?

php - 把 Laravel Query 变成 Key Value?

php - 带有多值字段的mysql高级搜索查询

mysql - PostgreSQL:如何使用 GROUPING SETS、CUBE 和 ROLLUP 进行汇总

php - 如何使用 PDO 中的绑定(bind)参数进行模糊搜索?

php - 根据另一个表的第一个值使用PDO查询MYSQL数据库