亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

伊川县| 新龙县| 海林市| 邢台市| 文登市| 娱乐| 望谟县| 金沙县| 东宁县| 密云县| 和平县| 连云港市| 永年县| 定南县| 香河县| 临高县| 九台市| 夏津县| 桂平市| 林芝县| 会东县| 甘泉县| 伊宁县| 灵石县| 布尔津县| 河间市| 西吉县| 广西| 榕江县| 望城县| 长沙市| 湖口县| 隆德县| 长岛县| 榆社县| 平顶山市| 赣州市| 元氏县| 竹溪县| 博野县| 韶山市|