91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle如何查出某個字段帶空格的數據

發布時間:2021-11-01 11:11:03 來源:億速云 閱讀:1050 作者:小新 欄目:MySQL數據庫

這篇文章主要為大家展示了“oracle如何查出某個字段帶空格的數據”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“oracle如何查出某個字段帶空格的數據”這篇文章吧。

問題描述:把一個表從oracle同步到阿里云 rds,居然報錯違反唯一鍵,很是詫異,然后具體查看報錯的那條數據,結果如下:果真有兩條。

MySQL [bidinfo]> select record_id ,login_id from  meminfo.t_member_info  where  login_id='woaini1314';

+-----------+-------------+

| record_id | login_id    |

+-----------+-------------+

|  15142804 | woaini1314  |

|  78124319 | woaini1314  |

+-----------+-------------+

2 rows in set (0.00 sec)

然后根據id在oracle中查詢,發現其中一個帶空格,一個不帶空格,

select record_id ,login_id from  infoservice.t_member_info  where record_id in(15142804 ,78124319 );

這就麻煩了,這可是用戶信息,不能隨便刪除,猜測是用戶在注冊的時候,多打了個空格,然后發現登陸不上去,就從新注冊了個不帶空格的相同名字的用戶,然而oracle能識別到空格,但是mysql識別不到空格,正好我們有會員登陸日志,經查詢確實是猜想這樣。那么下來怎么統計出帶空格的用戶的主鍵record_id呢?

具體描述:

liuwenhe  和liuwenhe+空格

由于oracle中識別空格,以下兩條sql查的結果不一樣。

select record_id ,login_id from  t_member_info  where  login_id='woaini1314';

select record_id ,login_id from  t_member_info  where  login_id='woaini1314 ';

但是mysql中不識別空格,以下查詢的結果是一樣的。都是兩條

MySQL [bidinfo]> select record_id ,login_id from  meminfo.t_member_info  where  login_id='woaini1314';

+-----------+-------------+

| record_id | login_id    |

+-----------+-------------+

|  15142804 | woaini1314  |

|  78124319 | woaini1314  |

+-----------+-------------+

2 rows in set (0.00 sec)

MySQL [bidinfo]> select record_id ,login_id from  meminfo.t_member_info  where  login_id='woaini1314 ';  +-----------+-------------+

| record_id | login_id    |

+-----------+-------------+

|  15142804 | woaini1314  |

|  78124319 | woaini1314  |

+-----------+-------------+

2 rows in set (0.00 sec)

問題出現了,這個login_id是個唯一鍵,  oracle中不沖突,遷移到rds就違反了唯一鍵了,

如下怎么查出oracle中帶空格的record_id,以便于從mysql中刪除帶空格的違反唯一鍵的數據。

一:先查出有問題的login_id(去掉空格之后的login_id)

select count(record_id),trim(login_id)  from infoservice.t_member_info group by trim(login_id) having count(record_id)>1 ;

二:然后查出所有有問題的login_id(包括帶空格的和不帶空格的),放到一個臨時表

create table liuwenhe.t_mmeber_info_bak as   select record_id ,login_id  from t_member_info  where trim(login_id) in (select  login from (

select count(record_id),trim(login_id) login from infoservice.t_member_info group by trim(login_id) having count(record_id)>1 ))

三:最后利用前兩個步驟查出的結果求出有問題的login_id中帶空格的那條數據的對應的record_id.

select   record_id  from  t_mmeber_info_bak   where login_id  not  in (select trim(login_id)  from  t_mmeber_info_bak) ;

四:導成txt文件,然后利用lord 進mysql。

最后根據record_id在mysql中刪除相應的數據,即可,

以上是“oracle如何查出某個字段帶空格的數據”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阆中市| 漳平市| 镇安县| 定日县| 乐清市| 巢湖市| 清河县| 成都市| 进贤县| 棋牌| 新蔡县| 樟树市| 运城市| 墨竹工卡县| 邓州市| 阿拉善右旗| 财经| 温州市| 新营市| 济阳县| 开平市| 丰原市| 黔西| 多伦县| 商都县| 辰溪县| 广东省| 工布江达县| 高尔夫| 陆良县| 武定县| 平度市| 闵行区| 南投县| 炉霍县| 弥渡县| 肇州县| 大姚县| 兴城市| 剑河县| 静乐县|