Oracle 쿼리가 대소문자를 구분하지 않는 이유

WBOY
풀어 주다: 2022-05-10 17:45:48
원래의
12929명이 탐색했습니다.

方法:1、利用“LOWER(字段值)”将字段转为小写,或者利用“UPPER(字段值)”将字段转为大写;2、利用“REGEXP_LIKE(字符串,正则表达式,'i')”,当参数设置为“i”时,说明进行匹配不区分大小写。

Oracle 쿼리가 대소문자를 구분하지 않는 이유

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle查询怎么不区分大小写

1、方式一

转为小写  LOWER('ABC') 结果 abc

转为大写  UPPER('aBc') 结果 ABC

select * from table lower(FAMILY_NAME) like lower(#{familyName}) --将字段全转成小写
select * from table upper(FAMILY_NAME) like upper(#{familyName}) --将字段全转成大写
로그인 후 복사

2、方式二

REGEXP_LIKE(x, pattern [, match_option])
로그인 후 복사

当源字符串x匹配正则表达式pattern时,返回true。

可以使用match_option修改默认匹配选项,该参数可以被设置为:

  • - 'c', 说明在进行匹配时区分大小写(默认选项)

  • - 'i', 说明在进行匹配时不区分大小写

  • - 'n', 允许使用可以匹配任意字符的操作符(通常是'.')

  • - 'm', 将x作为一个包含多行的字符串

SELECT * FROM test_reg WHERE REGEXP_LIKE(name, '(a)\1', 'i');
로그인 후 복사

上面的SQL语句匹配test_reg表中name列含有两个连续字符'a'(不区分大小写)的行,如name='SaAs'。

此外,这里我们还使用了正则表达式中的后引用语法——\n表示重复n次上次匹配的内容,

此处(a)\1表示匹配两个连续的字符'a'。

Oracle 默认是区分大小写,如果不要区分,就要额外的设置。

这个是在当前会话上,也就是说在每次发起查询的时候都需要执行这个才能起作用的。

推荐教程:《Oracle视频教程

위 내용은 Oracle 쿼리가 대소문자를 구분하지 않는 이유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿