首页 > 数据库 >Oracle、达梦:数据库大小写不敏感,但是又要区分大小写敏感(默认敏感)

Oracle、达梦:数据库大小写不敏感,但是又要区分大小写敏感(默认敏感)

时间:2024-04-25 16:46:41浏览次数:28  
标签:LIKE 默认 敏感 大小写 Oracle REGEXP

一、

  • 艹,这个需求就很操蛋。

  • 实现

SELECT *
FROM T1
WHERE REGEXP_LIKE(field, '.*value.*', 'c');

在 Oracle 数据库中使用 REGEXP_LIKE 函数时,'c' 参数用于指定比较应该是大小写敏感的。默认情况下,正则表达式的匹配在 Oracle 中是大小写敏感的,但这个参数可以用来明确这一行为,尤其是在数据库的全局设置可能影响大小写敏感性的环境中。
REGEXP_LIKE 函数的一般语法是:
其中 match_parameter 可以包括以下几种:
'c':表示大小写敏感(Case sensitive)。
'i':表示大小写不敏感(Case insensitive)。
'n':允许模式匹配符号 "." 匹配换行符。
'm':将源字符串视为多行,其中 ^ 和 $ 分别匹配每行的开始和结束,而不是整个字符串的开始和结束。
如果没有特别指定,REGEXP_LIKE 默认是大小写敏感的,即默认包含 'c' 的行为。如果你的环境中正则表达式似乎不遵循这一默认行为,可能是由于数据库的 NLS_SORT 或 NLS_COMP 参数设置导致的。在这种情况下,明确使用 'c' 参数可以帮助确保查询的行为符合预期。

二、不区分大小写查询

SELECT *
FROM T1
WHERE LOWER(field) LIKE LOWER('%value%') ;

标签:LIKE,默认,敏感,大小写,Oracle,REGEXP
From: https://www.cnblogs.com/kakarotto-chen/p/18158018

相关文章

  • oracle 创建空间,用户,授权
    创建表空间CREATETABLESPACEmy_tablespaceDATAFILE'path_to_datafile/dbf/my_tablespace.dbf'SIZE100MAUTOEXTENDONNEXT10MMAXSIZE500MLOGGINGONLINEPERMANENTEXTENTMANAGEMENTLOCAL;创建用户并指定表空间:CREATEUSERmy_userIDENTIFIEDBYmy_passwordDE......
  • 安全机密管理:Asp.Net Core中的本地敏感数据保护技巧
    前言在我们开发过程中基本上不可或缺的用到一些敏感机密数据,比如SQL服务器的连接串或者是OAuth2的Secret等,这些敏感数据在代码中是不太安全的,我们不应该在源代码中存储密码和其他的敏感数据,一种推荐的方式是通过Asp.NetCore的机密管理器。机密管理器在ASP.NETCore中,机密管......
  • Oracle "脑残" CBO 优化案例
    今天晚上下班回来才有空看群,群友发了一条很简单的慢SQL问怎么优化。非常简单,我自己模拟的数据。表结构:--auto-generateddefinitionCREATETABLEHHHHHH(IDNUMBERNOTNULLPRIMARYKEY,NAMEVARCHAR2(20),PARAGRAPH_IDNUMBER......
  • Oracle以及PG中将指定用户的primary,unique索引按照指定格式输出
    ---OracleSELECTLOWER(c.table_name)||':'||LOWER(i.index_name)||':'||LOWER(wm_concat(c.column_name))ASoutputFROMall_indexesiJOINall_ind_columnscONi.index_name=c.index_nameANDi.table_name=c.table_na......
  • oracle连接数据库报错ORA-12541:TNS:无监听程序
    最近闲来无事修改了电脑的用户名,本来以为不会影响什么,后来发现oracle数据库连接不上了,报错如下图:查看服务发现确实停止了,启动也启动不起来了搜索NetManager查看配置, 发现配置里面是我修改前的电脑名,才发现问题所在,随后我又把电脑名称改回来了数据库才能正常连接修改用户......
  • oracle select语句造成锁行的问题
    1、select*from表where codein(1,2,3);2、update表setcode = 4wherecode=1;以上两步是平时可能用到的写法,先查询在修改(理解我意思就行)。如果在高并发的情况下,这种情况更容易发生。select语句使用非聚族索引查询,会对非聚族索引添加共享锁,由于非聚族索引上没有se......
  • cls_oracle_logs.sh脚本遭遇TNS-12508错误浅析
    cls_oracle_logs.sh脚本的输出日志中有TNS-12508错误,具体如下所示........................................................................LSNRCTL> Current Listener is gspLSNRCTL> Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=gsp)))TNS-12508: TNS:......
  • oracle RAC加盘踢盘
    环境:OS:Centos7db:12CR2 1.主机层面加盘虚拟机加盘需要停掉数据库和主句,生产环境之间划分lun给到主机,不需要重启.multipath-ll找到新加磁盘的UUID 2.配置多路径每个节点上都要操作[root@rac02~]#more/etc/multipath.confblacklist{devnode"^sda"}defa......
  • Oracle数据库出现WARNING: too many parse errors告警的分析思路
    Oracle数据库的告警日志中出WARNING:toomanyparseerrors这些告警信息的话,如果遇到这个问题,我们应该如何分析呢?下面简单聊一下如何分析这个错误。该告警信息其实是12.2版本中的一个特性增强。在以前的Oracle版本中,数据库出现了解析错误时,数据库的alert日志中不会有任何相关的......
  • Oracle OCR,Vote disk故障恢复方案
     Oracle OCR,Votedisk故障恢复方案 1  概述OCR/Votedisk磁盘组故障场景恢复操作方案。测试版本:11.2.0.4.0适用于以下场景:操作维护OCR/Votedisk对应的磁盘组,提前备份了OCR文件信息,以便存在回退维护的空间。由于某些原因导致OCR/Votedisk的磁盘组丢失从而......