中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

富川| 阿荣旗| 上杭县| 固始县| 东明县| 阜新市| 岳阳县| 民和| 宾川县| 乌审旗| 凤凰县| 武山县| 木兰县| 长泰县| 岳西县| 郁南县| 抚顺市| 珲春市| 巨野县| 绥中县| 玛多县| 石景山区| 光山县| 郑州市| 奉新县| 屏东市| 盈江县| 元阳县| 武隆县| 明光市| 汕头市| 陇南市| 徐水县| 马公市| 清涧县| 上蔡县| 临西县| 台南市| 佛教| 广汉市| 澎湖县|