神奇的sql语句

大家在做项目的时候通常会遇到权限这个问题,不知道大家是怎么设计数据库的。

假如说表name就是用户对应的权限表,字段name就是用户所享有的权限菜单的id。

那么查询语句该怎么写呢?

下面看看这个语句:

select id,name from name where ‘,‘+ name +‘,‘like ‘%,2,%‘
select id,name from name where name like ‘%,2,%‘
select id,name from name where name like ‘%2%‘

  

出来的结果是不是很神奇~~

呵呵至于为什么会出来这样的结果集,还希望各位大神能够各抒己见发表个人的看法~~~

时间: 2024-10-12 02:43:38

神奇的sql语句的相关文章

关于T-SQL重编译那点事,WITH RECOMPILE和OPTION(RECOMPILE)区别仅仅是存储过程级重编译和SQL语句级重编译吗

本文出处:http://www.cnblogs.com/wy123/p/6262800.html   在考虑重编译T-SQL(或者存储过程)的时候,有两种方式可以实现强制重编译(前提是忽略导致重编译的其他因素的情况下,比如重建索引,更新统计信息等等), 一是基于WITH RECOMPILE的存储过程级别重编译,另外一种是基于OPTION(RECOMPILE)的语句级重编译. 之前了解的比较浅,仅仅认为是前者就是编译整个存储过程中的所有的语句,后者是重编译存储过程中的某一个语句,也没有追究到底是不

Oracle行转列、列转行的Sql语句总结(转)

多行转字符串 这个比较简单,用||或concat函数可以实现 select concat(id,username) str from app_userselect id||username str from app_user 字符串转多列 实际上就是拆分字符串的问题,可以使用 substr.instr.regexp_substr函数方式 字符串转多行 使用union all函数等方式 wm_concat函数 首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以",&quo

Mybatis——SQL语句构建器类

SQL语句构建器类 问题 Java程序员面对的最痛苦的事情之一就是在Java代码中嵌入SQL语句.这么来做通常是由于SQL语句需要动态来生成-否则可以将它们放到外部文件或者存储过程中.正如你已经看到的那样,MyBatis在它的XML映射特性中有一个强大的动态SQL生成方案.但有时在Java代码内部创建SQL语句也是必要的.此时,MyBatis有另外一个特性可以帮到你,在减少典型的加号,引号,新行,格式化问题和嵌入条件来处理多余的逗号或 AND 连接词之前.事实上,在Java代码中来动态生成SQL

Vertica用于时间计算的SQL语句大全

That`s it. 我发现在网上Laravel的学习资料实在是太少了.好多东西需要自己去弄.去理解. 我的方法还有一个,就是去github上面下载老外写的Laravel网站,然后拿下来自己运行,分析代码,然后找出其中的出彩的地方.恩,很不错的方法.今天让我找到了一个好东西,就是Laravel 本地化语言的功能. 所谓本地化语言,就是说在不同的的国家可能使用不同的语言.那么如果没有适应各个语言的程序,也就意味着程序需要重写.现在Laravel提供了一个方便的功能,本地化语言支持. 好了,下面让我

一篇搞定SQL语句

首先,你要知道SQL语句是常见数据库的查询语言,在关系型数据库里,表间关系有三种,通俗说就是爱情,亲情,友情,其中爱情在道德上说的是一对一,亲情就想到父母,你只有一个父亲或一个母亲,而一个当爹的就有可能有多个孩子,这就是一对多,而友情,你有多个朋友,你的某个朋友也有包括你在内的多个朋友,这就是多对多 其次,两张怎么建立上述的表间关系呢,比如一对多或多对多,有一种神奇的东西叫做外键,就一张表的列值在另外一张表的列有所对应,一对多就是一个外键,多对多就两个外键 最后,什么关系,什么操作,直接见实例就

安卓开发学习经历2--《第一行代码》coolweather项目SQL语句同一个“陷阱”掉两次 注意转义字符等特殊字符正确书写 关于Id字段自增加体会

今天,在运行<第一行代码>coolweather第二阶段代码,又一次报错,还是神奇地与昨天相似,提示,city_id字段不存在,这里我有两种理解,一种是sql语句出错了,另外一种是没有获取city_id值,关于前一种,我在”详细“检查比较了,County表的建表语句后,首先排除了,然后一股脑投入如何解决第二种问题当中,最后,再一次惨痛事实告诉我,以后只要提示“no such column” 的提示,那么毫无疑问,肯定是数据库里面没有这个字段也就是说,sql语句建表那里就出错了.如图: sql语

SQL语句构建器

SQL语句构建器类 问题 Java程序员面对的最痛苦的事情之一就是在Java代码中嵌入SQL语句.这么来做通常是由于SQL语句需要动态来生成-否则可以将它们放到外部文件或者存储过程中.正如你已经看到的那样,MyBatis在它的XML映射特性中有一个强大的动态SQL生成方案.但有时在Java代码内部创建SQL语句也是必要的.此时,MyBatis有另外一个特性可以帮到你,在减少典型的加号,引号,新行,格式化问题和嵌入条件来处理多余的逗号或 AND 连接词之前.事实上,在Java代码中来动态生成SQL

Oracle 行转列、列转行 的Sql语句总结

参考文章:http://blog.csdn.net/tianlesoftware/article/details/4704858 多行转字符串 这个比较简单,用||或concat函数可以实现 select concat(id,username) str from app_user select id||username str from app_user 字符串转多列 实际上就是拆分字符串的问题,可以使用 substr.instr.regexp_substr函数方式 字符串转多行 使用union

Oracle一条SQL语句时快时慢

今天碰到一个非常奇怪的问题问题,一条SQL语句在PL/SQL developer中很慢,需要9s,问题SQL: SELECT * FROM GG_function_location f WHERE f.parent_id ='03000000000001';  表GG_function_location有5千万的数据,parent_id上是有索引的. 诊断第一步:就在PL/SQL developer中按F5,看到的执行计划是走索引的,应该不会慢啊. 第二步:在sqlplus中用autotrace