ORACLE数据库对long类型字段进行模糊匹配的解决思路

1.背景介绍

最近在查询数据时,突然遇到了这样一个场景,如何对一个字段类型为long的字段进行模糊匹配。一顿操作以后发现不能使用like进行模糊查询,仔细查看了一下官方文档才发现,long数据类型并不支持该操作。然后就想着将long类型转换为varchar类型然后在进行模糊匹配,通过百度尝试了多种方法,发现效果不太理想。(如果你们发现好的方法欢迎在评论区留言)

2.解决思路

笔者这里采用的思路是:
先创建一个新表,然后将关键信息通过数据类型转换为合适的类型(此处是运用to_lob函数将long类型转换为lob),最后对新表进行模糊匹配。

3.解决实例

需求:对test1表中的b字段进行模糊匹配。
完整代码:

#创建测试表
create table test1(a number,b long);
insert into test1 values(1,'爱我中华');
#创建新表用于模糊匹配
CREATE TABLE test2 (a number,long_b CLOB);
delete from test2;
INSERT INTO test2 (select o.a, TO_LOB(o.b)
  FROM test1 o);
 #进行模糊匹配
select * from test2 where long_b like '%中%' ;

效果截图:
a.测试表数据类型

b.成功创建新表

c.模糊匹配结果

4.后记

好了,以上就是对long类型字段处理的方案,如果各位朋友有更好的方案可以与我沟通交流。

到此这篇关于ORACLE数据库对long类型字段进行模糊匹配的解决思路的文章就介绍到这了,更多相关oraclelong类型字段模糊匹配内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • ORACLE数据库应用开发的三十个注意事项

    引言 笔者及所在团队从2000年开始的CRM等系统开发,一直主要使用ORACLE数据库作为应用数据库,开发方式包括使用PLSQL编写存储过程/数据库函数/触发器.使用ODBC或OCI和ProC开发C++应用.使用JDBC开发Java应用.使用tuxdeo开发中间件应用等.这些应用开发笔者所在团队自己做过,也委托华为.亚信.思特奇等国内厂商合作做过,整体来说ORACLE数据库功能强大.性能出众.系统健壮,确实是OLTP联机事务处理的最受欢迎的数据库. 因ORACLE服务费居高不下.加上最近几年美国

  • QT连接Oracle数据库并实现登录验证的操作步骤

    目的: 本文实现QT登录界面,输入账号和密码后,系统连接Oracle数据进行判断账号和密码(MD5加密)是否和数据库一致,如果一致则提示登录成功. 开发环境:Windows10+QT5.14.2+Oracle11G R2 操作步骤: 1.打开QT软件,创建一个新的Application项目 2.设计界面并修改代码: 2.1修改项目配置文件,添加sql字符串表示要对数据库进行操作. 2.2登录界面LoginForm设计 2.3编写登录界面代码 LoginForm.h代码如下: #ifndef LO

  • zabbix agent2 监控oracle数据库的方法

    概述 在zabbix5.0版本以上,新增了一个特性,那就是zabbix-agent2,这个是zabbix公司使用go语言重写的一个代理,可以完全替代原来的zabbix-agent.这个代理功能比原来的要强大的多,内置了很多个插件支持对基础资源的监控.这里我选用oracle的插件,来看看zabbix-agent2可以支持监控哪些指标. 安装 安装zabbix-agent2 这里采用zabbix提供的官方repo,进行安装 rpm -Uvh https://repo.zabbix.com/zabbi

  • oracle取数据库中最新的一条数据可能会遇到的bug(两种情况)

    记一次 开发中遇到的坑: 第一种情况 rowid select * from table where rowid=(select max(rowid) from table ) 这种方式是取最大的rowid作为最新的数据,但是有一个隐患 :数据库一旦有删除操作,rowid不能保证每次都是递增的!即max(rowid)并不一定就是最新的数据,尽管可能不会每次复现 但这个问题是绝对存在的! 第二种情况 使用rownum (或相同思路) select t.* from (select ti.sysno

  • Python查询oracle数据库速度慢的解决方案

    如下所示: conn = cx_Oracle.connect('username/password@ip:port/servername') cur = conn.cursor() cur.execute('SELECT * FROM "db"."table"') cur是一个迭代器,不要用fetchall一次性取完数据 直接 for row in cur 即可取数据 使用:sqlalchemy MySQL-Python mysql+mysqldb://<us

  • 使用zabbix监控oracle数据库的方法详解

    一.概述 zabbix是一款非常强大,同时也是应用最为广泛的开源监控软件,本文将给大家介绍如何利用zabbix+python监控oracle数据库. 二.环境介绍 以下是我安装的环境,实际部署时并不需要跟我的环境一样. 1. 监控机 Redhat Linux 6.5 + Zabbix server 3.4.10 + Python 2.6.6 (操作系统自带) + Oracle Client 11.2 (x86_64) 2. 被监控机 Oracle 11.2.0.4 三.选择监控方式 zabbix

  • SpringBoot多数据库连接(mysql+oracle)的实现

    出于业务需求,有时我们需要在spring boot web应用程序中配置多个数据源并连接到多个数据库. 使用过Spring Boot框架的小伙伴们,想必都发现了Spring Boot对JPA提供了非常好的支持,在开发过程中可以很简洁的代码轻松访问数据库,获取我们想要的数据. 因此在这里,使用Spring Boot和JPA配置多个数据源的场景. 项目配置 在本文中,主要使用两个不同的数据库,分别为: mysql(springboot)[primary,优先搜寻该数据库]:mysql数据库,包含Us

  • 配置python连接oracle读取excel数据写入数据库的操作流程

    前提条件:本地已经安装好oracle单实例,能使用plsql developer连接,或者能使用TNS连接串远程连接到oracle集群 读取excel写入数据库的方式有多种,这里介绍的是使用pandas写入,相对来说比较简便,不需要在读取excel后再去整理数据 整个过程需要分两步进行: 一.配置python连接oracle并测试成功 网上有不少教程,但大部分都没那么详细,并且也没有说明连接单实例和连接集群的区别,这里先介绍连接oracle单实例的方式,后续再补充连接oracle集群方式. 版本

  • Oracle数据库scott用户创建view视图权限的操作方法

    1.首先打开SQL Plus窗口,然后窗口会提示你请输入用户名,如图所示 2.注意:在输入口令的时候as后面要加个空格即:as+空格+sysdba 用户名:sqlplus 口令:as sysdba 3.接下来就是给scott赋予view权限设置,命令如下: grant create view to scott; 4.另外还有一种就是在给scott赋予view权限的同时创建表格(table),命令如下: grant create table,create view to scott; 5.完成了以

  • 使用IDEA对Oracle数据库进行简单增删改查操作

    1.1 Java中的数据存储技术 在Java中,数据库存取技术可分为如下几类: 1.JDBC直接访问数据库 2.JDO(Java Data Object)是Java对象持久化的新的规范,也是一个用于存取某种数据仓库中的对象的标准化API. 3.第三方O/R 比如Hibernate,Mybatis等 JDBC是java访问数据库的基石,JDO.Hibernate.MyBatis,JDO,Hibernate.MyBatyis等只是更好的封装的JDBC. 最近用idea连接Oracle数据库 并且实现

  • Oracle数据库下载与安装的完整步骤

    前言 本文以 Oracle Database Express Edition (XE) Release 11.2.0.2.0 (11gR2) 为例进行数据库下载安装讲解 一.Oracle 数据库下载 访问 Oracle 数据库下载官网 选择目标版本数据库进行下载,本文以11gR2为例进行讲解. 访问Oracle 11gR2 下载官网 https://www.oracle.com/database/technologies/xe-prior-releases.html 选择适合自己操作系统的版本,

随机推荐