SQL:基于另一个字段值的条件字段输出

Posted

技术标签:

【中文标题】SQL:基于另一个字段值的条件字段输出【英文标题】:SQL: Conditional Field output based on another field's value 【发布时间】:2015-02-24 22:50:44 【问题描述】:

我有一个有趣的情况。我的表有一个名为“折扣”的数字字段。它是一个整数。我的表有另一个名为“isPercent”的布尔字段。

我想选择折扣字段,假设值为 50。

如果 isPercent 为 TRUE,我想将其输出为“50%”,否则我想将其输出为 Money“$50”。

我如何“有条件地选择”这个?

【问题讨论】:

【参考方案1】:

您已经存储了布尔值。只需在上面做一个 if 并连接正确的符号:


MySQL

select if(isPercent, concat(discount, '%'), concat('$', discount)) from ...

PostgreSQL

SELECT CASE 
  WHEN isPercent THEN discount || '%'
  ELSE '$' || discount END
FROM ...

【讨论】:

以上是关于SQL:基于另一个字段值的条件字段输出的主要内容,如果未能解决你的问题,请参考以下文章

基于 Symfony2 中其他字段值的字段条件验证

基于字段值的“有条件”加入?

SQL语句 一个表的值与另一个表的字段一致,怎么把两一个表的值作为条件,限定查询的字段

php WPForms:基于字段值的条件表单重定向。

用于生成基于新列的匹配字段值的 SQL 逻辑

更新一个表的字段值等于另一个表的字段值的SQL语句