美文网首页
oracle常用like总结

oracle常用like总结

作者: 清_晨_ | 来源:发表于2018-12-17 18:26 被阅读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”、……的所有记录。

    相关文章

      网友评论

          本文标题:oracle常用like总结

          本文链接:https://www.haomeiwen.com/subject/khjckqtx.html