MySQL:使用SUBSTRING缩短列

8ehkhllq  于 2023-02-15  发布在  Mysql
关注(0)|答案(1)|浏览(124)

我正在努力做到这一点:

update student 
set student_name=SUBSTRING(student_name, 0, 8)
where student_name like 'MAX%';

因此,我的意图是用原始内容的前8个字符更新列。
但是student_name列被设置为空值。
为什么会这样?谁能帮我修一下

mtb9vblg

mtb9vblg1#

在更新任何内容之前,请选择类似的请求。

MariaDB [(none)]> select SUBSTRING('123456',1,2 ), SUBSTRING('123456',0,2 ); 
+--------------------------+--------------------------+
| SUBSTRING('123456',1,2 ) | SUBSTRING('123456',0,2 ) |
+--------------------------+--------------------------+
| 12                       |                          |
+--------------------------+--------------------------+
1 row in set (0.00 sec)

MariaDB [(none)]>

子字符串中的第一个数字无效或为负数,导致空字符串。

相关问题