在2019年新一代信息技术产业代替了电子信息产业,我现在需要在sql中实现,niandu>2019显示新一代信息技术产业,niandu<2019显示电子信息产业,这段sql应该怎么写,刚入门小白不太清楚应该怎么实现,求助各位大佬
2条回答 默认 最新
- 幻灰龙 2021-02-07 10:57关注
不清楚你指的"隐藏"是什么意思,如果你指的是根据条件转换字段的值,那么
- 一种方式是查询后再使用编程的方式自己过滤和转换。
- 另一种方式是直接在SQL语句里转换。
1. 查询语句中使用 case-when-then-else-end 语法:
MySQL/SQLServer/PostSQL 都支持:
select case when niandu<2019 then "电子信息产业" else "新一代信息技术产业" end as name
参考:
- SQLServer: https://docs.microsoft.com/en-us/sql/t-sql/language-elements/case-transact-sql?view=sql-server-ver15
- MySQL: https://dev.mysql.com/doc/refman/5.7/en/case.html
- PostSQL: https://www.postgresql.org/docs/9.1/functions-conditional.html
2. 查询语句中使用 if 函数:
MySQL: select if(niandu<2019,"电子信息产业","新一代信息技术产业") as name
SQLServer2012+: select iif(niandu<2019,"电子信息产业","新一代信息技术产业") as name
参考:
- https://dev.mysql.com/doc/refman/5.7/en/flow-control-functions.html#function_if
- https://docs.microsoft.com/zh-cn/sql/t-sql/functions/logical-functions-iif-transact-sql?view=sql-server-ver15
解决 2无用
悬赏问题
- ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
- ¥15 如何在scanpy上做差异基因和通路富集?
- ¥20 关于#硬件工程#的问题,请各位专家解答!
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?