`
1927105
  • 浏览: 150333 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

oracle中char匹配问题

 
阅读更多

背景:

String sql = "select * from atm_user where username=? and password=? ";

一条很普通的sql语句,其中username和password在oracle中是char(20)和char(32) 如果是在mysql中查询是没有问题,关键是在Oracle中查询是,oracle默认在char未插满时用空格补充,一般情况是补充3×n的长度。郁闷了

上网搜到了一些处理方法,仅供参考:

1.属性用TRIM函数处理:TRIM( t.user_id)=?
2.char改为varchar2类型
char 型如果有指定位数的话,在填入数据后会在不足位后自动添加空格,vvarchar2则不会,所以你在查询char型时,"a"和"a "是不能匹配的

so只需将上面的sql改成如下即可

String sql = "select * from atm_user where trim(username)=? and trim(password)=? ";

分享到:
评论

相关推荐

    解决mybatis使用char类型字段查询oracle数据库时结果返回null问题

    "解决mybatis使用char类型字段查询oracle数据库时结果返回null问题" 在使用mybatis框架对Oracle数据库进行查询操作时,如果使用char类型字段作为查询条件,可能会出现结果返回null的问题。这种情况下,需要对char...

    ORACLE_CHAR_ToolS(ORACLE字符转换)

    Oracle数据库在处理字符集时,有时会出现数据乱码的问题,这通常是由于字符集不匹配或者在数据传输过程中编码转换不当导致的。"ORACLE_CHAR_ToolS"是一个专门针对这类问题的工具集合,它包含了两个注册表文件,用于...

    spring-jpa-oracle:演示将 CHAR 列持久化到 Oracle 数据库

    背景如果文本值存储在数据类型为CHAR(n)的 Oracle 列中,则数据库在将该值保存到列之前最多n字符。 后来,尝试使用 Hibernate 或 JPA 等框架搜索具有相同值的列失败,因为搜索词没有填充到n ,导致搜索词与列中存储...

    oracle 中文转拼音工具包

    文件中可能还包含了示例代码,帮助用户理解如何将这个工具集成到他们的应用程序中,例如在查询中使用转换后的拼音进行模糊匹配。 在实际应用中,这样的工具对于那些需要对中文数据进行全文搜索,但数据库不支持中文...

    将SQLSERVER中的数据同步到ORACLE中

    这些映射可以帮助我们在Oracle端创建与SQL Server中字段类型相匹配的表结构。 #### 3. 创建链接服务器 在SQL Server中创建链接服务器是实现数据同步的关键步骤之一。链接服务器允许SQL Server连接到远程数据库...

    ORACLE中数据字典大小写问题

    ### ORACLE中数据字典大小写问题 #### 数据字典大小写敏感性 在Oracle数据库中,对于数据字典中的表名和字段名,Oracle实际上处理这些名称时默认是大小写敏感的。这意味着如果创建了一个名为`myTable`的表,并且...

    力控与Oracle数据库的连接.pdf

    对于其他数据库系统,同样需考虑ODBC驱动的匹配性,以免出现兼容性问题。 Oracle数据库的结构由数据库、方案、表和记录组成。方案在Oracle中相当于一个命名空间,与用户账户一一对应。例如,使用System用户登录只能...

    关于oracle decode函数的用法

    这里,`TO_CHAR(hiredate,'yyyy')`将`hiredate`转换为四位数的年份字符串,然后DECODE函数检查这个字符串是否等于1980、1981、1982或1987中的某一年份,如果匹配,则计算`COUNT(empno)`的值,否则返回0。 #### 例2...

    Oracle与DB2数据类型的对应说明书

    可以使用Oracle中的TO_CHAR()函数来将DATE类型转换为字符串,然后与DB2/400中的DATE类型匹配。 二、VARCHAR2和CHAR类型 Oracle中的VARCHAR2类型可以对应DB2/400中的CHAR类型和VARCHAR类型。当n时,可以使用DB2/...

    CI访问oracle 10g的问题

    当涉及到CI系统与Oracle数据库的交互时,特别是Oracle 10g这样的老版本,可能会遇到一些特定的问题。以下是对配置CI访问Oracle 10g关键性参数的详细说明: 首先,我们需要在CI的配置文件中设置正确的数据库连接参数...

    oracle数据库时间函数

    Oracle 数据库中并没有直接使用 `CONVERT` 函数来处理日期和时间的方式,这个函数在 SQL Server 中被用来进行数据类型的转换,特别是日期和时间类型的转换。然而,Oracle 提供了类似的功能,如 `TO_DATE` 和 `TO_...

    Oracle与.Net 数据类型映射

    在.NET开发中,Oracle数据库是常用的后端存储系统之一,特别是在企业级应用中。了解Oracle数据库与.NET数据类型的映射关系对于开发人员来说至关重要,这直接影响到数据的正确存储、检索和处理。以下是对"Oracle与...

    oracle函数大全中文api文档

    Oracle数据库是世界上最流行的数据库管理系统之一,广泛应用于企业级的数据存储和管理。它的强大功能和灵活性在很大程度上得益于其...在日常开发和问题排查中,熟练掌握并灵活运用这些函数,可以极大地提升工作效率。

    oracle 的130个问题

    在Oracle数据库中,经常需要处理包含空值(`NULL`)的数据。对于本例中的`order`表,`shipdate`列存储的是日期类型,而`total`列存储的是数值类型。如果某个订单没有发货日期或者没有总金额,这些字段可能会出现空值...

    正则表达式在oracle中的应用

    综上所述,正则表达式作为一种强大的模式匹配工具,在Oracle等数据库的查询中具有极高的实用价值。通过使用正则表达式,可以显著减少查询语句的复杂度,提高开发效率。然而,在实际应用中也需要考虑到正则表达式的...

    Oracle与DB2数据类型的分类对应说明

    * 可以使用 Oracle 中的 TO_CHAR() 函数来取 DATE 的字串来分别与 DB2 的 DATE 和 TIME 相匹配。 二、字符类型 Oracle 中的 VARCHAR2(n) 类型可以对应 DB2 的 CHAR(n) 和 VARCHAR(n) 类型。其中,n 代表字符的长度...

    ORACLE 自动类型转换

    例如,当一个数字与字符串进行比较时,Oracle会尝试将字符串转换为数字,或者在存储过程中,如果参数的数据类型与变量不匹配,Oracle会尝试自动转换。 2. **显示转换**:另一种转换方式是通过显式使用CAST或TO_CHAR...

    数据库oracle中日期处理

    - `TO_DATE(char, format_mask)`:将字符转换为日期,需要提供匹配的格式掩码。 7. **计算星期几**: 使用`TO_CHAR(date, 'DY')`或`TO_CHAR(date, 'DAY')`可以获取日期对应的星期几,'DY'会返回缩写,'DAY'会返回...

    Oracle字符集问题

    在创建Oracle数据库时,你需要指定两套字符集:一套用于处理CHAR、VARCHAR2等非Unicode类型的数据,另一套用于处理NCHAR、NVARCHAR2等Unicode类型的数据。对于非Unicode类型,你应根据数据库主要处理的语言和地区...

    如何加密Oracle中的存储过程

    这有助于确保字符集正确处理,避免因字符集不匹配导致的问题。 - **查看当前设置**:直接键入`set`命令可以查看当前环境下的所有设置变量,包括NLS_LANG。 #### 知识点三:创建并加密存储过程 - **步骤1:创建存储...

Global site tag (gtag.js) - Google Analytics