sql - 如何使用instr()搜索多个子字符串

标签 sql sqlite substring instr

我正在尝试使用instr()获取给定字符串中文件扩展名的位置。这可能是许多可能的扩展名,因此我需要搜索多个子字符串(例如“ jpg”,“ mp4” ...)。

我试过一个OR语句,例如。 instr(string,“ jpg”或“ mp4”),没有运气。

SELECT instr(column, "jpg") FROM table;


任何解决方案或替代方案的想法都将受到欢迎。

最佳答案

这就是您所需要的。

SELECT CASE WHEN instr(column, "jpg") > 0 
   THEN instr(column, "jpg") WHEN instr(column, "mp4") > 0 
   THEN instr(column, "mp4") ELSE 0 END  FROM table;

关于sql - 如何使用instr()搜索多个子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57282583/

相关文章:

sql - 将行从一个表复制到另一个表,忽略重复项

android - 在sqlite中连接两个表

javascript - 如何返回字符串中子串的出现频率?

mysql - 在 MySQL 中,如何从长文本字符串中提取 URL?

java - JDBC 无法解析为 Eclipse 中的变量

linux - awk 子串单个字符

php - CakePHP 如何处理带/不带 'id' 字段的 HABTM 表?

mysql - 如何从所有表中获取最高的非递增id值

c# - 数据库预定操作

javascript - 如何让Electron与sqlite3一起工作?