SQL 查询交换代码,其值为 1= 附加活动查询

Posted

技术标签:

【中文标题】SQL 查询交换代码,其值为 1= 附加活动查询【英文标题】:SQL query interchange code with value like 1= active query attached 【发布时间】:2018-08-15 13:28:40 【问题描述】:

我想在数据库中显示代号,它被保存为代号。

如何显示代号?

like code is 1 , 2

代码存储在数据库中,我想显示1= active, 2 = expire

如何显示活动过期结果?

我目前的查询是:

select code from post code

【问题讨论】:

我认为您只想要case 表达式,但问题很不清楚。 【参考方案1】:

取决于你想要什么。 要选择所有字段并添加要显示的最后一个:

SELECT *, IIF(code = 2, 'Expire', 'Active') Code_Status From [post code] 

如果没有:

SELECT field1, field2, field3, IIF(code = 2, 'Expire', 'Active') Code_Status From [post code]

另外,如果你可以有更多的代码,而不仅仅是 1 和 2:

SELECT *, IIF(code = 2, 'Expire', IIF(code = 1, 'Active', code)) Code_Status From [post code]

【讨论】:

【参考方案2】:

你可以使用这个查询:

select CASE code 
    WHEN 1 THEN 'Active' WHEN 2 THEN 'Expire' END as code 
from [post code]
where code in(1, 2)

【讨论】:

【参考方案3】:

如果你有数字作为代码并想显示一个名字,这可以像下面这样完成。

SELECT *,
(
 CASE code WHEN 1 THEN 'Active' ELSE 'Expire' END
) AS CodeName
 FROM [post code]

【讨论】:

我建议将其更改为 WHEN 2 THEN 'Expire' ELSE 'Other' 以确保可以发现意外值。

以上是关于SQL 查询交换代码,其值为 1= 附加活动查询的主要内容,如果未能解决你的问题,请参考以下文章

将字符串附加到grafana查询中的变量?

用于sql查询的IF、ELSE语句

PromQL 查询以选择其值包含在给定的多选变量中的指标

Mybatis动态SQL查询 --(附实战案例--8888个字--88质量分)

SQL查询组特定列值为每个用户发送一封电子邮件

CONCAT sql 查询需要正确的格式。 Codeigniter 活动记录