oracle常用like总结

2018-12-17  本文已影响27人  清_晨_

oracle中的like常用总结,方便以后使用。

1.%:表示任意0个或多个字符。可匹配任意类型和长度的字符。

例如 SELECT * FROM test WHERE name LIKE '%中%'
将会把所有有‘中’这个文字的记录查出来;

2._: 表示任意单个字符。匹配单个任意字符,常用来限制表达式的字符长度。

例如:
SELECT * FROM test WHERE name LIKE '我爱_'
将会查出name 为 ‘我爱你’,‘我爱他’……的所有记录,也就是name 的字段为三个字,并且最前面的两个字是‘我爱’,第三个字是任意字或者其他符号等。同理 ,SELECT * FROM test WHERE name LIKE '我爱__’就 会查出‘我爱XX’的所有记录。

3.[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。

例如 SELECT * FROM test WHERE name LIKE '[陈李王]三'
将找出“陈三”、“李三”、“王三”的所有记录;
如果 [ ] 内有一系列字符(如:01234、abcde等等)则可略写为“0-4”、“a-e”
SELECT * FROM test WHERE name LIKE '陈[1-9]'
则表示“陈1”、“陈2”、……、“陈9”;

4.[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。

比如 SELECT * FROM test WHERE name LIKE '[^陈李王]三'
将找出不是‘陈三’,‘李三’,‘王三’的所有记录,可以是‘张三’,‘赵三’等。

SELECT * FROM test WHERE name LIKE '陈[^1-4]';
将排除“陈1”到“陈4”,寻找“陈5”、“陈6”、……的所有记录。

上一篇下一篇

猜你喜欢

热点阅读