先把自动事务提交关掉, 或者做好备份工作.
SET AUTOCOMMIT = 0 UPDATE NEWSSET NEWSTEXT = substring(NEWSTEXT,1,length(NEWSTEXT)-5)
WHERE ID BETWEEN 100 AND 200
AND length(NEWSTEXT) > 5
删除最后一个字符为 `,`:
UPDATE NEWSSET 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。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)