select 中case when 可以用别名去判断嘛
时间: 2024-03-26 10:38:26 浏览: 19
可以使用别名进行判断。在 SELECT 语句中,别名是最后进行计算的,因此可以在 SELECT 语句的其他部分使用别名。例如,你可以在 CASE WHEN 子句中使用别名,如下所示:
```
SELECT column1, column2,
CASE WHEN column3 > 0 THEN 'positive'
WHEN column3 < 0 THEN 'negative'
ELSE 'zero'
END AS sign
FROM table1;
```
在这个例子中,CASE WHEN 子句中使用了别名 "sign",它是在 SELECT 语句的其他部分进行计算的。
相关问题
select 中case when 可以用别名嘛
可以使用别名,例如:
```
SELECT
CASE
WHEN age > 18 THEN '成年人'
ELSE '未成年人'
END AS age_group
FROM users;
```
在上面的查询中,我们使用 `AS` 关键字为 `CASE` 语句定义了一个别名 `age_group`,以便在结果集中显示更友好的列名。
sql case when 多个别名
SQL中的`CASE`语句是一个非常灵活的功能,它允许你根据一系列条件来执行不同的分支操作,并且可以在`SELECT`、`WHERE`和`ORDER BY`等子句中使用。`CASE`语句有两种形式:简单形式和搜索形式。在`SELECT`查询中,简单形式的`CASE`可以用来为不同的列值分配不同的别名,这样可以在结果集中返回新的列名或者别名。
简单形式的`CASE`语句的基本语法如下:
```sql
SELECT
CASE column_name
WHEN value1 THEN alias1
WHEN value2 THEN alias2
...
ELSE default_alias
END AS alias_column_name
FROM table_name;
```
在这个语法结构中,`column_name`是你想要根据其值来提供不同别名的列名,`value1`、`value2`等是该列可能出现的值。`alias1`、`alias2`等是你想要为这些值分配的新别名。如果列值不符合任何`WHEN`条件,则使用`ELSE`子句中的`default_alias`作为别名。`alias_column_name`是你在结果集中想要显示的列名。
例如,如果你有一个`orders`表,并且想要根据订单的状态(假设状态是`'pending'`、`'shipped'`、`'delivered'`)来显示一个更易读的状态名称,你可以这样写:
```sql
SELECT
order_id,
customer_name,
CASE status
WHEN 'pending' THEN '等待支付'
WHEN 'shipped' THEN '已发货'
WHEN 'delivered' THEN '已送达'
ELSE '未知状态'
END AS order_status
FROM orders;
```
在这个例子中,`status`是原始的状态列,而`order_status`是通过`CASE`语句转换后的新列名,它将包含不同的别名,这些别名更加易于理解。