MariaDB如何截取字符串中第一个斜杠前的部分?
在MariaDB中截取字符串第一个“/”之前的部分
当需要将一张表的数据更新到另一张表,且需截取字符串中第一个“/”之前的内容时,在支持CHARINDEX的SQL环境(如SQL Server)中,可使用以下语句实现:
select substring(lesson, 1, CHARINDEX('/', lesson) - 1) from lesson
但MariaDB并未提供CHARINDEX函数,此时可以用INSTR函数替代——该函数返回子串在字符串中首次出现的位置,和双参数形式的LOCATE()功能一致,仅参数顺序相反。
对应的MariaDB解决方案代码:
SELECT SUBSTRING(lessonr1, INSTR(flesson, '/') - 1) FROM lesson ;
提示:若上述代码中的字段名(
lessonr1、flesson)存在笔误,可根据实际表结构调整为目标字段名,确保INSTR的第二个参数与SUBSTRING的第一个参数对应同一字段。
内容的提问来源于stack exchange,提问作者Tom Pit
相关产品推荐
相关产品推荐

