表结构 table1
bankname bankcode area
农业银行 0000001 上海
农业银行 0000002 北京 现在得到文本"上海农业银行",需要查询出"0000001".请问各位,sql该怎么写?给个思路也行。。
bankname bankcode area
农业银行 0000001 上海
农业银行 0000002 北京 现在得到文本"上海农业银行",需要查询出"0000001".请问各位,sql该怎么写?给个思路也行。。
解决方案 »
- 问个关于case when的简单问题
- 在pl/sql中如何用语句查看procedure
- sql 自连接的一个问题 望高手指导一下
- *****求SQL语句*****
- 关于delphi编程连接Oracle数据库的问题?
- 如何返回索引表所有下标?
- 菜鸟问题,请各位大大帮忙
- 各位好,遇到一个麻烦,还请各位大虾帮忙解决,分数不多,单一定兑现
- 用access的导出功能,通过odbc向Oracle导入一张表,为什么access里的Integer, Boolean列到Oracle里都变成VarChar2型了呢?
- 先排序,再取出前面100条记录,能实现?
- 请问如何查找两个字段的重复数据?
- Oracle中汉字数据显示为乱码的问题
select bankcode from table1
where area||bankname like'%上海农业银行%'
SQL>
SQL> with table1 as
2 (
3 select '农业银行' bankname, '0000001' bankcode,'上海' area from dual
4 )
5 select bankcode from table1 where area||bankname='上海农业银行'
6 ;BANKCODE
--------
0000001SQL>
select bankcode from table1 where '上海农业银行' like bankname
得到两个结果
把两个结果合并成临时表,取重复记录
朋友,请问。如果area这个地址有可能为空,该怎么处理?
比如
表结构 table1
bankname bankcode area
农业银行 0000001 上海
农业银行 0000002 北京
信用卡中心 0000003
where instr('信用卡中心',bankname)>0 and instr('信用卡中心',nvl(area,'信用卡中心'))>0
朋友,如果bankname有"中国工商银行深圳市分行"存在怎么吧?因为也有"中国银行"交通银行 000000069 江苏
招商银行 000000061 山东
农业银行(宁波) 000000071 浙江
广东发展银行 000000067 广东
建设银行 000000001 上海
浦东发展银行 000000002 上海
工商银行 000000003 上海
上海银行银行 000000004 上海
交通银行 000000013 上海
农业银行 000000021 上海
邮政储蓄 000000032 上海
招商银行 000000043 上海
农业银行 000000017 北京
工商银行 000000018 北京
招商银行 000000035 北京
中国银行银行 000000060 北京
交通银行 000000056 北京
中信银行 000000042 北京
工商银行 000000023 江苏
农业银行 000000024 江苏
招商银行 000000029 江苏
邮政储蓄 000000068 江苏
中国银行银行 000000057 江苏
建设银行 000000053 江苏
农业银行 000000040 山东
工商银行 000000041 山东
中信银行 000000048 山东
建设银行 000000049 山东
工商银行(浙江) 000000050 浙江
农业银行(浙江) 000000051 浙江
工商银行 000000063 广东
农业银行 000000064 广东
中国银行银行 000000062 广东
建设银行 000000066 广东
招商银行(浙江) 000000075 浙江
邮政储蓄 000000074 山东
宁波银行 000000084 浙江
中国银行(宁波) 000000083 浙江
广东招商银行 000000073 广东
广东交通银行 000000072 广东
中国工商银行深圳市分行 000000076 广东
中国农业银行深圳市分行 000000077 广东
中国银行深圳市分行 000000078 广东
中国建设银行深圳市分行 000000079 广东
交通银行深圳市分行 000000080 广东
深圳发展银行深圳市分行 000000081 广东
招商银行深圳市分行 000000082 广东
青岛市工商银行 000000091 山东
青岛市农业银行 000000087 山东
工商银行 000000085 天津
农业银行 000000086 天津
天津银行 000000108 天津
江苏省宁波银行 000000094 江苏
青岛建设银行 000000106 山东
青岛招商银行 000000107 山东
湖北工商银行 000000111 湖北
湖北建设银行 000000108 湖北
湖北招商银行 000000109 湖北
湖北招商银行 000000109 湖北
湖北农业银行 000000110 湖北
山东工商银行信用卡中心 000000070 山东
渣打银行 000000065 上海
兴业银行信用卡中心 000000052
招商银行信用卡中心 000000022
中国银行江苏分行 000000046 江苏
深圳发展银行信用卡中心 000000055
招商银行北京市分行 000000020 北京
广东发展银行 000000047
天津交通银行 000000103 天津
江苏银行 000000099 江苏
南京浦发银行 000000096 江苏
上海浦发银行 000000095 上海
上海东亚银行 000000097 上海
河北建设银行 000000126 河北
上海江苏银行 000000125 上海
输入的字符串是什么?是区分“中国工商银行深圳市分行”和“中国银行深圳市分行”?对于这种类型的数据,建议 lz 先整理一下数据,让 bankname 列中只存储银行的名称,不要带地区。
可以这样做:先创建一个表存储所有银行的正式名称,根据这些名称处理原始数据;如果原始名称中包含银行的正式名称,就将原始名称替换为此正式名称。