• wcur LOCATE +


    w字符串处理

     1 DROP PROCEDURE IF EXISTS w_unique;
     2 DELIMITER /w/
     3 CREATE PROCEDURE w_unique()
     4 BEGIN
     5   DECLARE done INT DEFAULT FALSE;
     6   DECLARE w_wmax INT;
     7   DECLARE w_grab_review_url VARCHAR(256);
     8   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;
     9   DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
    10 
    11   OPEN wcur;
    12   read_loop: LOOP
    13     FETCH wcur INTO w_wmax, w_grab_review_url;
    14     IF done THEN LEAVE read_loop;
    15     END IF;
    16         SET @wtmp = CONCAT('DELETE FROM grab_tab_review WHERE grab_tab_review_pk!=',w_wmax,' AND grab_review_url="',w_grab_review_url,'"');
    17         PREPARE  stmt FROM @wtmp ;
    18         EXECUTE  stmt ;
    19         DROP PREPARE stmt;
    20   END LOOP;
    21   CLOSE wcur;
    22 END/w/
    23 DELIMITER;
    24 CALL w_unique();
     1 DROP PROCEDURE IF EXISTS w_self_update;
     2 DELIMITER /w/
     3 CREATE PROCEDURE w_self_update(w_arr  VARCHAR(36))
     4 BEGIN
     5   DECLARE done INT DEFAULT FALSE;
     6   DECLARE w_grab_tab_review_pk INT;
     7   DECLARE w_grab_review_url VARCHAR(256);
     8   DECLARE wcur CURSOR FOR SELECT grab_tab_review_pk, grab_review_url FROM grab_tab_review WHERE LENGTH(grab_review_url)>0;
     9   DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
    10 
    11   OPEN wcur;
    12   read_loop: LOOP
    13     FETCH wcur INTO w_grab_tab_review_pk, w_grab_review_url,w_countrycode;
    14     IF done THEN LEAVE read_loop;
    15     END IF;
    16         SET @w=LOCATE(w_arr,w_grab_review_url);
    17         SET @wb=LOCATE('/ref=',w_grab_review_url);
    18         SET @wstr=SUBSTR(w_grab_review_url,@w + LENGTH(w_arr),@wb - @w - LENGTH(w_arr));
    19         SET @wtmp = CONCAT('UPDATE grab_tab_review ',' SET amz_review_id="',@wstr,'" WHERE grab_tab_review_pk=',w_grab_tab_review_pk);
    20         PREPARE  stmt FROM @wtmp ;
    21         IF @w>0 THEN EXECUTE  stmt ;
    22     END IF;
    23         DROP PREPARE stmt;
    24   END LOOP;
    25   CLOSE wcur;
    26 END/w/
    27 DELIMITER;
    28 CALL w_self_update('-reviews/');
    29 CALL w_self_update('-review/');
    1 https://www.amazon.com.mx/review/R1OR2BGFHA44LE/ref=cm_cr_dp_title?ie=UTF8&ASIN=B0196IK0OM&channel=detail-glance&nodeID=9482690011&store=software
    2 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
    3 ===>
    4 R1OR2BGFHA44LE
     1  
     2 SELECT grab_review_url FROM grab_tab_review WHERE grab_tab_review_pk=123456;
     3 
     4 SELECT
     5     SUBSTR(
     6         (
     7             SELECT
     8                 grab_review_url
     9             FROM
    10                 grab_tab_review
    11             WHERE
    12                 grab_tab_review_pk = 123456
    13         ),
    14         LOCATE(
    15             '-reviews/',
    16             (
    17                 SELECT
    18                     grab_review_url
    19                 FROM
    20                     grab_tab_review
    21                 WHERE
    22                     grab_tab_review_pk = 123456
    23             )
    24         ) + LENGTH('-reviews/'),
    25         LOCATE(
    26             '/ref=',
    27             (
    28                 SELECT
    29                     grab_review_url
    30                 FROM
    31                     grab_tab_review
    32                 WHERE
    33                     grab_tab_review_pk = 123456
    34             )
    35         ) - LOCATE(
    36             '-reviews/',
    37             (
    38                 SELECT
    39                     grab_review_url
    40                 FROM
    41                     grab_tab_review
    42                 WHERE
    43                     grab_tab_review_pk = 123456
    44             )
    45         ) - LENGTH('-reviews/')
    46     );
  • 相关阅读:
    流程控制-分支结构
    nginx配置详解
    git/github初级使用
    svn基本使用详情
    windows下搭建SVN服务器
    Linux下搭建svn服务器
    构建源码
    swipe实现app滑动效果
    app测试专项(摘抄自网络)
    新版本覆盖安装升级后,微信登陆提示获取openid失败
  • 原文地址:https://www.cnblogs.com/rsapaper/p/6295852.html
Copyright © 2020-2023  润新知