
查询对象为ArcInfo coverage,shapefile, INFO table,dBASE table,ArcSDE data,ArcIMS 要素类,或者 ArcIMS image service 子图层:\x0d\'_' indicates one character \x0d\ '%' indicates any number of characters\x0d\\x0d\查询对象为personal geodatabase data:\x0d\'' indicates one character\x0d\ '' indicates any number of characters\x0d\\x0d\ArcGIS的查询语句跟数据库相关,例如,进行模糊查询:\x0d\对于oracle等大型数据库来说应该是如下:\x0d\where 项目名称 like '%土地%'\x0d\但是对于个人数据库,即access数据库来说,应该是:\x0d\where 项目名称 like '土地'\x0d\使用通配符查询\x0d\通配符 描述 示例\x0d\% 包含零个或更多字符的任意字符串。 WHERE title LIKE '%computer%' 将查找处于书名任意位置的包含单词 computer 的所有书名。 \x0d\_(下划线) 任何单个字符。 WHERE au_fname LIKE '_ean' 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean 等)。 \x0d\[ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。 WHERE au_lname LIKE '[C-P]arsen' 将查找以arsen 结尾且以介于 C 与 P 之间的任何单个字符开始的作者姓氏,例如,Carsen、Larsen、Karsen 等。 \x0d\[^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。 WHERE au_lname LIKE 'de[^l]%' 将查找以 de 开始且其后的字母不为 l 的所有作者的姓氏。
您好,一、SQL模式:
SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。在 MySQL中,SQL的模式缺省是忽略大小写的。下面显示一些例子。注意在你使用SQL模式时,你不能使用=或!=;而使用LIKE或NOT LIKE比较 *** 作符。
SELECT 字段 FROM 表 WHERE 某字段 Like 条件
其中关于条件,SQL提供了四种匹配模式:
1,%:表示任意个或多个字符。可匹配任意类型和长度的字符。
比如 SELECT FROM [user] WHERE u_name LIKE ‘%三%'
将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。
另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件
SELECT FROM [user] WHERE u_name LIKE ‘%三%' AND u_name LIKE ‘%猫%'
若使用 SELECT FROM [user] WHERE u_name LIKE ‘%三%猫%'
虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。
2,_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:(可以代表一个中文字符)
比如 SELECT FROM [user] WHERE u_name LIKE ‘_三_'
只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的;
再比如 SELECT FROM [user] WHERE u_name LIKE ‘三__';
只找出“三脚猫”这样name为三个字且第一个字是“三”的;
二、正则模式:
由MySQL提供的模式匹配的其他类型是使用扩展正则表达式。当你对这类模式进行匹配测试时,使用REGEXP和NOT REGEXP *** 作符(或RLIKE和NOT RLIKE,它们是同义词)。
扩展正则表达式的一些字符是:
“”匹配任何单个的字符。(单字节字符)
一个字符类“[]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。为了命名字符的一个范围,使用一个“-”。“[a-z]”匹配任何小写字母,而“[0-9]”匹配任何数字。
“ ”匹配零个或多个在它前面的东西。例如,“x”匹配任何数量的“x”字符,“[0-9]”匹配的任何数量的数字,而“”匹配任何数量的任何东西。
正则表达式是区分大小写的,但是如果你希望,你能使用一个字符类匹配两种写法。例如,“[aA]”匹配小写或大写的“a”而“[a-zA-Z]”匹配两种写法的任何字母。
如果它出现在被测试值的任何地方,模式就匹配(只要他们匹配整个值,SQL模式匹配)。
为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”。
为了说明扩展正则表达式如何工作,上面所示的LIKE查询在下面使用REGEXP重写:
为了找出以“三”开头的名字,使用“^”匹配名字的开始。
FROM [user] WHERE u_name REGEXP ‘^三';
将会把u_name为 “三脚猫”等等以“三”开头的记录全找出来。
为了找出以“三”结尾的名字,使用“$”匹配名字的结尾。
FROM [user] WHERE u_name REGEXP ‘三$';
将会把u_name为“张三”,“张猫三”等等以“三”结尾的记录全找出来。
你也可以使用“{n}”“重复n次” *** 作符重写先前的查询:
FROM [user] WHERE u_name REGEXP ‘b{2}$';
注意:如果是中文字符,可能在使用时需要注意一下。
LIKE运算符可以使用以下两个通配符 “%”和 “-”。其中: “%”代表零个或多个字符。 “-”代表一个且只能是一个字符。 如果您只记得SALESMAN的第一个字符为S,第三个字符为L,第五个字符为S,那该如何处理呢 SQL> SELECT empno, ename, sal, job 2 FROM emp 3 WHERE job LIKE ’S_L_S%’; 结果 EMPNO ENAME SAL JOB ---------- -------------------- ---------- -------- 7499 ALLEN 1600 SALESMAN 7521 WARD 1250 SALESMAN 7654 MARTIN 1250 SALESMAN 7844 TURNER 1500 SALESMAN 从上面的查询语句,可以看出,通过在LIKE表达式中使用不同的通配符“%”和 “-”的组合,可以构造出相当复杂的限制条件。 另外,LIKE运算符可以帮助您简化某些WHERE子句。例如要显示在1981年雇用的所有员工的清单,可以使用这个查询语句。 SQL> SELECT empno, ename, sal, hiredate 2 FROM emp 3 WHERE hiredate LIKE ’%81’; 结果 EMPNO ENAME SAL HIREDATE ---------- ------------------ ---------- --------- 7499 ALLEN 1600 20-FEB-81 7521 WARD 1250 22-FEB-81 7566 JONES 2975 02-APR-81 7654 MARTIN 1250 28-SEP-81 7698 BLAKE 2850 01-MAY-81 7782 CLARK 2450 09-JUN-81 7839 KING 5000 17-NOV-81 7844 TURNER 1500 08-SEP-81 7900 JAMES 950 03-DEC-81 7902 FORD 3000 03-DEC-81 已选择11行。
没有的。
SQL即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。SQL语句无论是种类还是数量都是繁多的,很多语句也是经常要用到的,SQL查询语句就是一个典型的例子,无论是高级查询还是低级查询,SQL查询语句的需求是最频繁的。
SQL反向模糊查询,需要用到的函数为instr(str1,str2),instr(str1,str2)表示st,比如: SELECT FROM TABLE_NAME T WHERE INSTR('唐飞',TNAME)>0;
注:NAME为TABLE_NAME 中的一个字段,为VARCHAR类型。instr(str1,str2)>0表示str1包含str2; instr(str1,str2)>=表示str1不包含str2。
由1、2很容易可以看出来instr完全可以替代like,至少在以上示例中可以替代。只要把str1和str2换个位置就可以达到like效果。
instr的效率是比like要高些(orace对内建函数做了优化),而且使用like时,一些索引是不能用的,但oracle支持函数索引,如果使用函数索引的话,执行更快。
一般的数据库中,instr和like的效率是没有多大差别的,但对于oracle数据库可以通过函数索引来提高instr的执行效率。
以上就是关于arcgis中的like运算符如何使用全部的内容,包括:arcgis中的like运算符如何使用、求mysql用like检索字段中带有数字的语句、sql 中 like的用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)