SELECT * FROM docimagefile WHERE SUBSTRING_INDEX(imagefilename, '.', -1) IN ('pdf', 'doc', 'docx', 'wps'); 修改这个sql 不使用函数的放啊
时间: 2023-08-06 20:19:39 浏览: 174
如果你不想使用函数,可以使用LIKE操作符来查找imagefilename字段中包含pdf、doc、docx、wps等后缀名的记录。你可以使用以下SQL查询语句来实现:
```
SELECT * FROM docimagefile
WHERE imagefilename LIKE '%.pdf' OR
imagefilename LIKE '%.doc' OR
imagefilename LIKE '%.docx' OR
imagefilename LIKE '%.wps';
```
这条SQL语句中使用了LIKE操作符,它可以匹配imagefilename字段中包含pdf、doc、docx、wps等后缀名的记录。%符号表示任意字符序列(包括空字符序列),所以'%.pdf'可以匹配以.pdf结尾的字符串,其他的类似。最终返回满足条件的所有记录。
相关问题
查docimagefile 表中 imagefilename字段.后面的值是pdf,doc,docx,wps等的sql该怎么写
你可以使用以下SQL查询语句来查找docimagefile表中imagefilename字段后面是pdf、doc、docx、wps等值的记录:
```
SELECT * FROM docimagefile WHERE SUBSTRING_INDEX(imagefilename, '.', -1) IN ('pdf', 'doc', 'docx', 'wps');
```
这条SQL语句中使用了SUBSTRING_INDEX函数来截取imagefilename字段中最后一个点号后面的字符串,也就是文件后缀名。然后使用IN操作符来查找后缀名为pdf、doc、docx、wps等的记录,最终返回满足条件的所有记录。
SELECT substring_index( SELECT tc.commodity_classify FROM tb_commodity tc WHERE tc.merchant_id = 97 AND !ISNULL(tc.commodity_classify) GROUP BY tc.commodity_classify LIMIT 1 ,',',-1) > 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT tc.commodity_classify FROM tb_commodity tc ' at line 2 > 时间: 0.027s出现错误
这个 SQL 语句有语法错误。在 SELECT 子句中,需要指定要选择的列,而不是直接选择一个子查询。您可以尝试修改为以下语句:
```SQL
SELECT SUBSTRING_INDEX(
tc.commodity_classify, ',', -1
) AS result
FROM tb_commodity tc
WHERE tc.merchant_id = 97
AND !ISNULL(tc.commodity_classify)
GROUP BY tc.commodity_classify
LIMIT 1;
```
这将选择 `tb_commodity` 表中 `merchant_id` 为 97 且 `commodity_classify` 列不为空的记录,按 `commodity_classify` 列分组,选择第一组的最后一个子字符串。
阅读全文