sql server 类似case when 功能的函数
时间: 2024-09-28 14:09:40 浏览: 46
SQL Server 提供了一些用于条件判断的内置函数,其中最常用的就是 `CASE` 表达式,它类似于编程语言中的三元运算符。`CASE` 函数可以根据一个或多个条件返回不同的值。这里是一个基本的例子:
```sql
SELECT
CASE
WHEN column_name = 'value1' THEN 'Result1'
WHEN column_name = 'value2' THEN 'Result2'
ELSE 'Default Result'
END as result_column
FROM table_name;
```
在这个例子中,如果 `column_name` 等于 `'value1'`,则返回 `'Result1'`;如果等于 `'value2'`,返回 `'Result2'`;否则返回默认值 `'Default Result'`。
除了 `CASE`,还有其他一些函数提供类似功能,比如:
1. **IIF** (If Immediate Function):这是 T-SQL 中的一种旧语法,但在某些版本的 SQL Server 中仍可用,结构与 `CASE` 相似,但更简洁。
```sql
SELECT IIF(column_name = 'value', 'Result', 'Default') as result;
```
2. **COALESCE** 和 **NULLIF**:这两个函数主要用于处理 NULL 值,它们可以分别替换 `IS NULL` 或 `=` 操作来检查是否存在匹配的非空值。
- COALESCE:返回第一个非 NULL 参数。
- NULLIF:如果两个参数相等,则返回 NULL。
阅读全文