首页 > 数据库 >【Oracle】使用like的时候遇到的问题

【Oracle】使用like的时候遇到的问题

时间:2024-03-07 10:46:12浏览次数:29  
标签:语句 count like 遇到 底壳 dual Oracle select

【Oracle】使用like的时候遇到的问题

like语句其中的%就代表着一个零或者多个字符,_代表一个字符,%与_可以同时使用

name想查询以‘_’结尾的字符

用这个语句就会有问题

select count(1) from dual where '底壳组件.pdf' like '%_'

LIKE语句与多个下划线一样可以匹配出来数据,一般遇到特殊字符的话,可以使用ESCAPE转义字符来匹配数据字段,并将它查询出来

用下面语句就没问题

select count(1) from dual where '底壳组件.pdf' like '%e_' ESCAPE 'e'

但是这种方式只能对特殊字符,如果想查询‘f’结尾的字符

用下面语句就会报错

select count(1) from dual where '底壳组件.pdf' like '%ef' ESCAPE 'e'

image

因此,为了通用性,在Oracle中,最好使用下面的语句

select count(1) from dual where Substr('底壳组件.pdf',-1) = '_'

这样大部分的情况都是兼用的

标签:语句,count,like,遇到,底壳,dual,Oracle,select
From: https://www.cnblogs.com/jokingremarks/p/18058355

相关文章

  • Oracle 外部表
    在Oracle数据库中,外部表是一种特殊类型的表,它们并不存储数据在数据库中,而是指向外部数据源(如文本文件、CSV文件、Excel文件等),通过外部表可以在数据库中对外部数据进行查询和操作。外部表与常规表之间的关联主要是通过创建表的方式来实现。要创建外部表并将其与数据库中的其他表进......
  • Oracle 关联查询
    在Oracle数据库中,左连接、右连接和全连接是用于联接两个表的不同类型的连接方式,它们之间的区别如下:例子T_11、T_12数据表  左连接(LEFTJOIN):左连接是指返回左表中的所有记录,以及符合连接条件的右表中的记录。如果右表中没有匹配的记录,则结果集中右表部分将显示为NULL......
  • oracle 19c 迁移到11g
    从19c导出数据需指定VERSION=11.2.0.1[qdtais1]@ht19c01[/home/oracle]$expdpet/etdirectory=ncdumpfile=et_%U.dmplogfile=expet.logVERSION=11.2.0.1Export:Release19.0.0.0.0-ProductiononWedMar620:54:512024Version19.15.0.0.0Copyright(c)1982,2......
  • 【Event Hub】消费消息时遇到Azure.Messaging.EventHubs.EventHubsException(QuotaExc
    问题描述使用EventHubConsumerClient消费EventHub的消息时,遇见Azure.Messaging.EventHubs.EventHubsException(QuotaExceeded):Exceededthemaximumnumberofallowedreceiversperpartitioninaconsumergroupwhichis5.”异常。代码片段为:...privatestaticStr......
  • Mysql和Oracle在group by中的一些差异
    1.是否select字段需要全部出现?Oracle中出现在select列表中的字段或者出现在orderby后面的字段,如果不是包含在分组函数中,那么该字段必须同时在groupby子句中出现。Mysql没有此限制例:Mysql中,以下SQL语句是成立的,可见这里的GroupbySELECTp.PDTNO,p.PDTNAME,sum(a.QUAN......
  • Mysql和Oracle在order by上关于聚合函数一些不同的差异
    1.问题SELECTp.PDTNO,p.PDTNAME,sum(a.QUANTITY)ASapplySumCountFROMPRODUCTpJOINAPPLYaONp.PDTNO=a.PDTNOGROUPBYPDTNOORDERBYapplySumCountDESC;在Mysql中我们经常将select中聚合函数得到的结果起别名用于orderby但是同样的方式在Oracle中就不行,......
  • Oracle使用*的注意事项
    1.问题这里运行下述代码提示:ORA-00936:缺失表达式SELECT*FROM( SELECTROWNUMASrm,* FROM( SELECTprod_name,prod_price FROMPRODUCTS ORDERBYPROD_PRICEDESC )t1 WHEREROWNUM<=6 )t2WHERErm>3;2.解决参考:oracle查询*时所需......
  • Oracle with查询
    在Oracle数据库中,"WITH"子句通常用于编写递归查询或者子查询,并且可以在查询中创建临时的命名结果集。这样可以使得复杂的查询变得更加清晰和易于理解。WITH子句也被称为公共表表达式(CTE)。下面是一个简单的示例,演示了WITH子句的基本用法: witht1as(selecthostid,host,sta......
  • kali扩容遇到无法扩容问题
    1、问题图片2、其实提示信息里面已经写了,是因为创建了快照后续步骤可以参照这个博主的https://blog.csdn.net/weixin_43825028/article/details/119776202?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-119776202-blog-10......
  • oracle 19c普通用户查询字典表all_views时等待row cache mutex事件
    近日,一19coraclerac测试环境,初始反馈是sys用户查询很快,cdb用户如c##any查询系统表如all_tables很慢,至少相差几十倍、有时候直接半天超时还没执行完,经查一开始发现在等待gccrmultiblockmixed事件,该事件据官方解释,该事件时提升性能用的,如下:OracleGCCRMultiBlockMixed......