sql-server - 有没有办法在 TSQL 中以数学方式使用条件结果?
问题描述
我想在数学上使用测试结果来决定是否将一个值设置为不同的数字,如果它恰好为零或其他什么。
例如,如果我发出这样的问题: SELECT (1=1)* 100 AS value 我希望 value 得到类似 100 或 -100 的结果(后者是我记得 Commodore Basic 的工作方式)。但相反,我在等号上出现语法错误。有没有办法在 MSSQL 中执行此操作来简化我的查询?
解决方案
你可以用 case when
SELECT (case when 1=1 then 1 else -1 end)* 100
您也可以使用iif
(仅适用于 SQL Server 2012 或更高版本)
SELECT iif(1=1,1 ,-1)* 100
推荐阅读
- python - Applying last valid index mask to dataframe to get last valid values
- ios - UIView touchesCancelled 未调用
- c++ - 从 calloc() 迁移到 new
- php - 使用 ajax 成功编写的 jquery 语句显示语法错误,其中使用的框架是 laravel
- python - PySpark 递归键搜索
- angular - 检索带有 angularFire 和多个孩子的列表
- jolt - 我将如何使用该属性作为带有 JOLT 的值的输入?
- python - 如何使用 aiohttp 向外部服务器发出客户端请求以避免缓存
- database - 下载 enwiki-latest-pages-articles-multistream.xml.bz2 后如何离线阅读维基百科
- admin-on-rest - 如何根据过滤器值隐藏 Datagrid 中的列