我的编程空间,编程开发者的网络收藏夹
学习永远不晚

oracle如何查出某个字段带空格的数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

oracle如何查出某个字段带空格的数据

这篇文章主要为大家展示了“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如何查出某个字段带空格的数据”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

oracle如何查出某个字段带空格的数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle如何删除某个字段的数据

要删除Oracle数据库中某个字段的数据,可以使用UPDATE语句将该字段的值设置为NULL或空字符串。以下是一个示例:UPDATE table_nameSET column_name = NULLWHERE condition;在上
oracle如何删除某个字段的数据
2024-04-09

oracle如何查看某个字段的类型

在Oracle数据库中,可以通过以下方法查看某个字段的类型:1. 使用DESCRIBE命令:在SQL命令行中,使用DESCRIBE命令可以查看指定表的结构,包括字段名称、数据类型、长度等信息。例如,要查看表名为table_name的某个字段
2023-10-19

oracle如何查找某个字符出现的位置

在Oracle中查找某个字符出现的位置可以使用INSTR函数。具体语法如下:INSTR(string, search_string [, start_position [, occurrence]])其中:string:要搜索的字符串s
oracle如何查找某个字符出现的位置
2024-04-09

php如何查询某字段下的所有数据

这篇文章主要介绍“php如何查询某字段下的所有数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php如何查询某字段下的所有数据”文章能帮助大家解决问题。一、连接数据库在查询数据库之前,我们需要先连
2023-07-05

sql如何去掉某个字段重复的数据

要去掉某个字段重复的数据,可以利用SQL的DISTINCT关键字来实现。具体的SQL语句如下:SELECT DISTINCT column_name1, column_name2, ...FROM table_name;其中,colum
sql如何去掉某个字段重复的数据
2024-04-27

如何查找SAP Fiori UI上某个字段对应的底层数据库表

本篇文章给大家分享的是有关如何查找SAP Fiori UI上某个字段对应的底层数据库表,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。到了Fiori时代,很多办法都不再适用了。小
2023-06-04

如何解决SSM Mapper文件查询出返回数据查不到个别字段的问题

这篇文章将为大家详细讲解有关如何解决SSM Mapper文件查询出返回数据查不到个别字段的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SSM Mapper查询出返回数据查不到个别字段原因开启了驼峰命
2023-06-28

oracle 数据库 中 如何将不带汉字的日期格式转换成带“年月日时分秒”格式的日期

通常我们在oracle中写日期格式化是这样的 to_date(时间,"yyyy-mm-dd") 但是,有时候也会遇到一些别样的需求,比如这样 : 让你按"xxxx年xx月xx日 xx时xx分xx秒"的格式来显示时间 对于初次接触的你,有可能写完会出现这样的情
oracle 数据库 中 如何将不带汉字的日期格式转换成带“年月日时分秒”格式的日期
2020-05-13

编程热搜

目录