用sql的case when语句替换地块类别,字段名为‘dklb’:10承包地块 21自留地 22机动地 23开荒地 99其他集体土地
时间: 2023-09-21 22:06:00 浏览: 226
### 回答1:
你可以使用 SQL 的 CASE-WHEN 语句来替换地块类别。下面是一个例子:
```
UPDATE table_name
SET dklb =
CASE
WHEN dklb = 10 THEN '承包地块'
WHEN dklb = 21 THEN '自留地'
WHEN dklb = 22 THEN '机动地'
WHEN dklb = 23 THEN '开荒地'
WHEN dklb = 99 THEN '其他集体土地'
ELSE dklb
END
```
这句话就是说更新表中所有dklb字段中等于10 的为承包地块,等于21的为自留地,等于22的为机动地,等于23的为开荒地,等于99的为其他集体土地,其他的保持不变。
当然,还可以在查询中使用CASE-WHEN,来达到替换字段值相同的目的,如下
```
SELECT
dklb,
CASE
WHEN dklb = 10 THEN '承包地块'
WHEN dklb = 21 THEN '自留地'
WHEN dklb = 22 THEN '机动地'
WHEN dklb = 23 THEN '开荒地'
WHEN dklb = 99 THEN '其他集体土地'
ELSE '其他'
END AS dklb_name
FROM table_name;
```
如上,就是选取表中的dklb字段和替换后的dklb_name,其中dklb_name是用原来的dklb字段来替换达到相同的目的,在这里是只是展示目的,并没有对原始数据进行修改
### 回答2:
可以使用SQL的CASE WHEN语句来替换地块类别字段dklb的值。根据题目描述,我们需要将字段dklb的值替换为相应的地块类别。
假设表名为land,可以使用以下SQL语句来实现替换操作:
```
UPDATE land
SET dklb = CASE
WHEN dklb = 10 THEN '承包地块'
WHEN dklb = 21 THEN '自留地'
WHEN dklb = 22 THEN '机动地'
WHEN dklb = 23 THEN '开荒地'
WHEN dklb = 99 THEN '其他集体土地'
ELSE '未知类别'
END;
```
上述语句中,CASE WHEN语句会根据字段dklb的值进行判断,当满足条件时,将对应的地块类别字符串赋值给dklb字段。如果字段值不在给定的条件范围内,则会被替换为'未知类别'。
执行以上SQL语句后,字段dklb的值将被替换成相应的地块类别,实现了对地块类别的替换操作。
### 回答3:
可以使用SQL的CASE WHEN语句来替换地块类别字段。
CASE WHEN语句的语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
根据题目要求,我们可以使用如下的CASE WHEN语句来替换地块类别字段‘dklb’:
SELECT
CASE WHEN dklb = 10 THEN '承包地块'
WHEN dklb = 21 THEN '自留地'
WHEN dklb = 22 THEN '机动地'
WHEN dklb = 23 THEN '开荒地'
WHEN dklb = 99 THEN '其他集体土地'
ELSE '未知'
END AS 地块类别
FROM my_table;
以上语句将根据‘dklb’字段的值,返回对应的地块类别。如果‘dklb’的值为10,则返回‘承包地块’,如果‘dklb’的值为21,则返回‘自留地’,以此类推。如果‘dklb’的值不在这些条件中,则返回‘未知’。
注意:将my_table替换为实际的表名。
阅读全文