mysql - SQL:三元运算

标签 mysql sql

在 C++ 中,您可以这样做:

T.x = (T.y > 1 && (T.x - T.y < 0)) ? 0 : (T.x - T.y)

用[几乎]简单的英语来说,是

if T.y > 1 and T.x-T.y < 0 then
    set T.x to 0
else 
    set T.x to T.x-T.y 

是否可以只使用 SQL 而不使用存储过程或触发器来做同样的事情?

最佳答案

使用CASE语句:

CASE WHEN T.y > 1 AND (T.x - T.y) < 0 THEN 0 ELSE (T.x - T.y) END

关于mysql - SQL:三元运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9029587/

相关文章:

mysql - 如何获取mysql表中列的大小

sql - 如何显示较大金额的值(value)

php - edit_subject.php 无法正常工作,错误提示数据库查询失败

mysql - 在MySQL中使用IF语句在没有存储过程的情况下更新或插入?

php - Yii 中的复杂查询

mysql - 将大型 XML 文件解析到数据库中。使用多线程?

sql - 将 Postgres\i 输入的输出放入文件?

mysql - 为什么我在 View SELECT 查询中收到带有 WHERE 子句的 "Unknown column ' xyz'"?

Java持久化API : Glassfish tries to use derby instead of MySQL?

php - 连接两个数据库A和B