各位好!
现在有这么个问题,数据库表A里一个字段longitude是字符型,里面有些数据是数字,另一个表B里也有个longitude字段,为number型,现在想把A表的longitude查询出来放到B表的longitude里,这就有一个问题了,如何只取出A表longitude只为数字的数据?
现在有这么个问题,数据库表A里一个字段longitude是字符型,里面有些数据是数字,另一个表B里也有个longitude字段,为number型,现在想把A表的longitude查询出来放到B表的longitude里,这就有一个问题了,如何只取出A表longitude只为数字的数据?
解决方案 »
- Oracle死锁log
- 如何用SQL编写提取语句??????????????????
- 为什么企业管理器中sys账户用任何密码都能登陆???(以DBA身份)
- red hat13.8版本的linux安装oracle9.2.0的问题,麻烦高手看看
- 求一条基础的SQL语句
- PIII老机器想装ORALCE,WIN2K系统,128M内存,请提供个好用的版本下载,谢谢!
- 在企業管理器里,點procedure,在選擇 view/edit details....,只能跳出個Edit Procedure得框,裡面得東東一點都
- 求一个统计表的写法,sql学的不好,急啊。
- 关于oracle的两个问题请教
- 问一个弱弱的关于oracle基本的管理问题
- oracle在“本地Net服务名配置”里面的主机名难道就只能是localhost吗?
- Oracle奇怪的问题
insert into b(longitude)
select a.longitude from a where regexp_like(a.longitude,'[[:digit:]]');
兄弟,我试了试,不大对啊。这个字段是经度,A表里存有类似“东经120度23分,49.46秒”,“37°11'88N ”的值,而B表标准的类型应该是121.38489 这样只有数字的形式。你上面那个sql只是吧空值的情况排除了,并没只取到数字。
where trim(translate(longitude,'0123456789',' ')) is null
TRIM(B.LONGITUDE) IS NOT NULL AND
NOT REGEXP_LIKE(B.LONGITUDE,'[[:alpha:]]') AND
NOT REGEXP_LIKE(B.LONGITUDE,'["]') AND
NOT REGEXP_LIKE(B.LONGITUDE,'[°]') AND
NOT REGEXP_LIKE(B.LONGITUDE,'[。]') AND
NOT REGEXP_LIKE(B.LONGITUDE,'[[:space:]]') AND
B.LONGITUDE NOT LIKE '%.%.%'