oracle查询条件值带括号,[oracle查找带有括号的数据]

本文详细介绍了在SQL查询中如何使用通配符进行日期匹配,特别是针对日期时间值的处理。强调了在搜索日期时推荐使用LIKE操作,并举例说明了如何正确使用'%'和'_'等通配符。还提到了ESCAPE关键字在转义特殊字符中的作用,以及在处理SQL中的特殊字符时的一些规则和示例。
摘要由CSDN通过智能技术生成

c16c5d8a5d15a046bc2bc08d627b708b.png

使用以下语句我什么都找不到

从soft中选择*,其中soft.savetime类似于'%2005-3-8%'

SQL帮助说:

在搜索日期时间值时,建议使用“ LIKE”,因为日期时间项可能包含各种日期部分. 例如,如果将值19981231 9:20插入到名为arrival_time的列中,则子句WHERE到达时间= 9: 20不会找到9:20字符串的完全匹配,因为SQL Server在1900年1月1日将其转换为9:20 AM. 但是,子句WHEREarriving_time LIKE'%9: 20%'将找到匹配项. “

运行以下语句SELECT soft. *,CAST(soft.savetime AS varchar(20))AS strdatetime,

发现

SQL将smalldatetime测试转换为:

2005年8月8日下午12:12

如何使用'%2005-3-8%'来搜索2005年3月8日的所有记录?

选择*

来自软件

其中datediff(d,soft.savetimeoracle通配符查出某个特定字符,convert(datetime,'20050308',121))= 0

----

选择*

来自软件

其中convert(char(10),soft.savetime,121)='20050308'

2,类似操作中特殊字符的SQL处理方法:

单引号是SQL Server查询期间的特殊字符,因此必须在查询期间将其转换为双单引号.

在like操作中,有以下特殊字符: 下划线_,百分号%,方括号[]和尖的^.

目的如下:

5a60d8fa75b6f75f2a2a0034f6fad35c.png

下划线: 用于替换任意字符(与正则表达式中的?等效)

百分号: 用于替换任意数量的任何字符(等价于正则表达式中的*)

方括号: 用于转义(实际上,只有左方括号用于转义,而右方括号则使用最近优先级原则来匹配最接近的左方括号)

斜杠: 用于排除某些字符以进行匹配(与正则表达式相同)

以下是一些匹配示例. 应该注意的是,只有特殊操作才具有这些特殊字符,而=操作则没有.

a_b ... a [_] b%

a%b ... a [%] b%

a [b ... a [[] b%

a] b ... a] b%

a [] b ... a [[]] b%

a [^] b ... a [[] [^]] b%

a [^^] b ... a [[] [^] [^]] b%

在实际处理中,对于=操作,通常只需要像这样替换它:

'->''

对于类似操作,需要进行以下替换(请注意顺序也很重要)

[-> [[](必须是第一个被替换的!!)

%-> [%](其中%表示要匹配的字符本身中包含的%,而不是专门用于匹配的通配符)

_-> [_]

^-> [^]

3,SQL的特殊用法,例如通配符: 转义

10fe9113bff4338524cc9f79f8afb541.png

描述逃逸的作用:

1. 使用ESCAPE关键字定义转义字符. 在此模式中oracle通配符查出某个特定字符,当转义字符放在通配符之前时,通配符将被解释为普通字符. 例如,要在任何位置搜索包含5%字符串的字符串,请使用:

在哪一列像'%5 / %%'的ESCAPE'/'

但是看来“ \”不能在mysql中使用.

2.ESCAPE'escape_character'

允许您在字符串中搜索通配符,而不是将其用作通配符. escape_character是放置在通配符前面的字符,用于指示此特殊用途.

选择*

从财务上

描述类似于“ gs_” ESCAPE“ S”

GO

含义:

例如,我们要搜索字符串“ g_”,如果直接像“ g_”那样,那么“ _”的角色是通配符,而不是字符,因此,我们会发现诸如“ ga” ”,“ gb”,“ gc”,而不是我们需要的“ g _”.

类似于“ gs_” ESCAPE“ S”的特殊用法标志

3. 创建表a(名称为varchar(10))

插入选择的'11%22'

所有联盟都选择“ 11%33”

联盟全部选择“ 12%33”

从WHERE名称中选择*,例如'%/%33'ESCAPE'/'-指定其后的通配符是带有'/'符号的通用字符. (第二个字符是一个字符而不是通配符)

d31039535d4f008a97268ee661b391f4.png

放置表a

结果是:

名称

----------

11%33

12%33

摘要:

%: 匹配零个或多个任意字符; _: 匹配任何单个字符; []: 匹配范围; [^]: 排除范围

符号含义

喜欢'5 [%]'5%

像'[_] n'_n

像'[a-cdf]'a,b,c,d或f

像'[-acdf]'-,a,c,d或f

喜欢'[[]'[

like']']

例如'abc [_] d%'abc_d和abc_de

例如'abc [def]'abcd,abce和abcf

like'[^ 1-9]'0

like'[^ 1-9b-z]'0,a

cf0202a33796e996c6c96296b0460ad2.png

对于出现在字符串中的特殊字符: '%','[','[]','_',您可以使用'[]'包含它们,以便将它们视为普通字符

1. 像'[[]'一样使用特殊字符'['

选择1,其中'[ABCDE'喜欢'[[]%'

2. 使用像']'来匹配特殊字符']'

选择1,其中“] ABCDE”如“]%”

3. 像'[[]]'一样使用特殊字符'[]'

选择1,其中'[] ABCDE'如'[[]] %%'

4. 像'[_]'一样使用特殊字符'_'

选择1,其中“ _ABCDE”类似于“ [_]%”

5. 像'[%]'一样使用特殊字符'%'

选择1,其中“ ABC%DE”如“ ABC [%] DE”

对于其他特殊字符: '^','-',']'因为它们包含在'[]'中,因此需要以其他方式对其进行转义,因此引入了类似的内容. 注意: 转义可以转义所有特殊字符.

选择1,其中'^ ABCDE'喜欢'! ^ ABCDE'逃脱'!'

选择1,其中'-ABCDE'喜欢'! -ABCDE'逃脱'!'

选择1,其中'] ABCDE'如'!] ABCDE'转义'!'

选择1,其中'%ABCDE'之类的'\%ABCDE'转义为'\'

选择1,其中“!%ABCDE”等“%ABCDE”转义为“!”

选择1,其中“%ABCDE”(如“#%ABCDE”)转义为“#”

选择1,其中'%ABCDE'如'@%ABCDE'escape'@'

选择1,其中“ [[ABCDE]”就像“! [ABCDE'逃脱'!'

选择1,其中'] ABCDE'如'!] ABCDE'转义'!'

规则是在转义后立即使用该字符作为转义字符. 转义后的字符等效于C语言字符串中的转义字符'\'.

最后,看一个更复杂的比赛

选择1,其中'[[\ ^ A \ -Z \]%''[^ A-Z] ABCDE'转义'\'

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/shumachanpin/article-207318-1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值