在单个查询中填写空记录

时间:2018-07-05 01:52:06

标签: sql

我有这张桌子:

| ID   | PICNAME     | ECODE |
| null | 1234_22.JPG | BG01  |
| null | 2222_23.JPG | BG01  |
| null | 2345_11.JPG | AA01  |

我想用PICNAME的四位填充空记录。

结果应该是这样的:

| ID   | PICNAME     | ECODE |
| 1234 | 1234_22.JPG | BG01  |
| 2222 | 2222_23.JPG | BG01  |
| 2345 | 2345_11.JPG | AA01  |

如何通过单个查询获得此结果?

4 个答案:

答案 0 :(得分:4)

您从未告诉我们您正在使用哪个数据库,但是如果LEFT可用,那么以下更新应该有效:

UPDATE yourTable
SET ID = LEFT(PICNAME, 4)
WHERE ID IS NULL;

答案 1 :(得分:4)

尝试以下操作:

Update 
  TBL
Set
  Id = Left(PICNAME,4)
Where
  ID is null;

答案 2 :(得分:3)

您可以使用substring来实现

update table_name
set id = substring(picname,0,4)
where id is null

答案 3 :(得分:2)

UPDATE TABLE SET ID = SUBSTRING(PICNAME,0,4)