mysql数据库如何查询出某字符串字段不以指定后缀为结尾的记录?

mysql数据库如何查询出某字符串字段不以指定后缀为结尾的记录?,第1张

select * from table where id not in (select id from table where url like '%js' and url like '%css' and url like '%jpg')

先把自动事务提交关掉, 或者做好备份工作.

SET AUTOCOMMIT = 0

删除最后5个字符:

UPDATE NEWS 

   SET NEWSTEXT = substring(NEWSTEXT,1,length(NEWSTEXT)-5)

 WHERE ID BETWEEN 100 AND 200

   AND length(NEWSTEXT) > 5

删除最后一个字符为 `,`:

UPDATE NEWS 

   SET NEWSTEXT = 

       CASE WHEN NEWSTEXT LIKE '%,' THEN substring(NEWSTEXT,1,length(NEWSTEXT)-1)

            ELSE NEWSTEXT END   

 WHERE ID BETWEEN 100 AND 200

   AND NEWSTEXT LIKE '%,'

大意是这样, 细节再调整下, 执行完查下数据是否正确再提交.

select * from phone where phonenumber regexp '[[:digit:]]{4}$'

试试看

抱歉,题目没看清楚。。

刚查了下mysql的正则表达式文档,不支持back reference,所以我只能想到用最笨的方法做

select *

from phone where

substring(phonenumber,-1,1) = substring(phonenumber,-2,1) and substring(phonenumber,-3,1) = substring(phonenumber,-4,1) and substring(phonenumber,-1,1) = substring(phonenumber,-4,1)

postgresql数据库的正则支持back reference。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7361987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存