wcur LOCATE +
w字符串处理
DROP PROCEDURE IF EXISTS w_unique;
DELIMITER /w/
CREATE PROCEDURE w_unique()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE w_wmax INT;
DECLARE w_grab_review_url VARCHAR(256);
DECLARE wcur CURSOR FOR SELECT MAX(grab_tab_review_pk) AS wmax, grab_review_url FROM grab_tab_review WHERE LENGTH(grab_review_url)>0 GROUP BY grab_review_url;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN wcur;
read_loop: LOOP
FETCH wcur INTO w_wmax, w_grab_review_url;
IF done THEN LEAVE read_loop;
END IF;
SET @wtmp = CONCAT('DELETE FROM grab_tab_review WHERE grab_tab_review_pk!=',w_wmax,' AND grab_review_url="',w_grab_review_url,'"');
PREPARE stmt FROM @wtmp ;
EXECUTE stmt ;
DROP PREPARE stmt;
END LOOP;
CLOSE wcur;
END/w/
DELIMITER;
CALL w_unique();
DROP PROCEDURE IF EXISTS w_self_update;
DELIMITER /w/
CREATE PROCEDURE w_self_update(w_arr VARCHAR(36))
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE w_grab_tab_review_pk INT;
DECLARE w_grab_review_url VARCHAR(256);
DECLARE wcur CURSOR FOR SELECT grab_tab_review_pk, grab_review_url FROM grab_tab_review WHERE LENGTH(grab_review_url)>0;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN wcur;
read_loop: LOOP
FETCH wcur INTO w_grab_tab_review_pk, w_grab_review_url,w_countrycode;
IF done THEN LEAVE read_loop;
END IF;
SET @w=LOCATE(w_arr,w_grab_review_url);
SET @wb=LOCATE('/ref=',w_grab_review_url);
SET @wstr=SUBSTR(w_grab_review_url,@w + LENGTH(w_arr),@wb - @w - LENGTH(w_arr));
SET @wtmp = CONCAT('UPDATE grab_tab_review ',' SET amz_review_id="',@wstr,'" WHERE grab_tab_review_pk=',w_grab_tab_review_pk);
PREPARE stmt FROM @wtmp ;
IF @w>0 THEN EXECUTE stmt ;
END IF;
DROP PREPARE stmt;
END LOOP;
CLOSE wcur;
END/w/
DELIMITER;
CALL w_self_update('-reviews/');
CALL w_self_update('-review/');
https://www.amazon.com.mx/review/R1OR2BGFHA44LE/ref=cm_cr_dp_title?ie=UTF8&ASIN=B0196IK0OM&channel=detail-glance&nodeID=9482690011&store=software
https://www.amazon.com.mx/gp/customer-reviews/R1OR2BGFHA44LE/ref=cm_cr_dp_title?ie=UTF8&ASIN=B0196IK0OM&channel=detail-glance&nodeID=9482690011&store=software
===>
R1OR2BGFHA44LE
SELECT grab_review_url FROM grab_tab_review WHERE grab_tab_review_pk=123456; SELECT
SUBSTR(
(
SELECT
grab_review_url
FROM
grab_tab_review
WHERE
grab_tab_review_pk = 123456
),
LOCATE(
'-reviews/',
(
SELECT
grab_review_url
FROM
grab_tab_review
WHERE
grab_tab_review_pk = 123456
)
) + LENGTH('-reviews/'),
LOCATE(
'/ref=',
(
SELECT
grab_review_url
FROM
grab_tab_review
WHERE
grab_tab_review_pk = 123456
)
) - LOCATE(
'-reviews/',
(
SELECT
grab_review_url
FROM
grab_tab_review
WHERE
grab_tab_review_pk = 123456
)
) - LENGTH('-reviews/')
);
wcur LOCATE +的更多相关文章
- 函数:MySQL中字符串匹配函数LOCATE和POSITION使用方法
1. 用法一 LOCATE(substr,str) POSITION(substr IN str) 函数返回子串substr在字符串str中第一次出现的位置.如果子串substr在str中不存在,返回 ...
- Mac 下locate命令使用问题WARNING: The locate database (/var/db/locate.database) does not exist.
想在Mac下使用locate时,提醒数据库没创建: WARNING: The locate database (/var/db/locate.database) does not exist. To ...
- centos 使用 locate
centos 第一次使用locate时报错: locate: can not stat () `/var/lib/mlocate/mlocate.db': 没有那个文件或目录 因为locate相关的索 ...
- locate: can not open `/var/lib/mlocate/mlocate.db': No such file or directory
# locate zabbix locate: can not open `/var/lib/mlocate/mlocate.db': No such file or directory locate ...
- locate 最快的查找文件的命令 NB
我见过最NB的查找文件最快的命令 [root@NB data]# locate teamviewer. /data/Software/teamviewer.i686.rpm /home/ok/.loc ...
- 每天一个linux命令(18):locate 命令
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了.在一般的 di ...
- iOS 苹果开发证书失效的解决方案(Failed to locate or generate matching signing assets)
从2月14日开始,上传程序的同学可能会遇到提示上传失败的提示. 并且打开自己的钥匙串,发现所有的证书全部都显示此证书签发者无效. 出现以下情况: Failed to locate or generat ...
- Perl 脚本报Can't locate Mail/Sender.pm 解决办法
在新的Linux Server(Red Hat Enterprise Linux Server release 5.7 (Tikanga))上配置磁盘空间告警的perl脚本后,测试时报如下错误 ...
- mysql中类似indexOf的方法LOCATE()
LOCATE(substr,str), LOCATE(substr,str,pos) 第一个语法返回substr在字符串str 的第一个出现的位置. 第二个语法返回子符串 substr 在字符串st ...
随机推荐
- The Report Of Twisted’s Death or: Why Twisted and Tornado Are Relevant In The Asyncio Age
Speech on PyCon2016 https://www.youtube.com/watch?v=82vuCZ4FLFE
- 在无法单步调试的情况下找Bug的技巧
比如说你有一个大的模块A,其组成部分有B,C,D这3个小的模块,现在A出了一个BUG,因为某种原因的限制你无法单步调试.怎么较快地定位BUG发生的根源? 这里记录一下刚才我在找BUG的时候采用的思路, ...
- WP架构设计(一)MVVM回顾
[MVVM的定义] MVVM的目的是什么? 简单总结起来一句话:分离UI逻辑和业务逻辑.这一点和被大家熟知的MVP和MVC是一致的. 下面详细来说明下这个问题,下面一段英文来自Msdn ...
- ubuntu server执行sudo出现"no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory"
[Ubuntu] 執行 sudo 時,出現 "no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory ...
- C语言 · 数的读法
基础练习 数的读法 时间限制:1.0s 内存限制:512.0MB 问题描述 Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0 ...
- golang 环境bash 以及shell
standard_init_linux.go:178: exec user process caused "no such file or directory" 2018年04月2 ...
- 容斥 + 组合数学 ---Codeforces Round #317 A. Lengthening Sticks
Lengthening Sticks Problem's Link: http://codeforces.com/contest/571/problem/A Mean: 给出a,b,c,l,要求a+x ...
- MapReduce与Hadoop之比较
MapReduce与Hadoop之比较 Hadoop是Apache软件基金会发起的一个项目,在大数据分析以及非结构化数据蔓延的背景下,Hadoop受到了前所未有的关注. Hadoop是一种分布式数据和 ...
- php -- 反射ReflectionClass
反射类:ReflectionClass 反射就是将其他类的结构给反应出来,从而可以对类的结构进行了解便于对类的使用. ReflectionClass::export(类名); 返回结果为三个数组:常量 ...
- 转载:CSS3图标图形生成技术个人攻略
原始地址:http://segmentfault.com/a/1190000000481320 出处:http://www.zhangxinxu.com/wordpress/?p=4113