未合并情况 SELECT a.id, b.name AS "role" FROM sys_user a INNER JOIN sys_user_role c ON a.id=c.user_id INNER JOIN sys_role b ON b.id =c.role_idWHERE a.del_flag=0 AND b.del_flag=0 结果 id role 1 系统管理员1 测试角色2 系统管理员2 测试角色9 系统管理员9 测试角色d11828f3dbf148829287a
在使用mysql时候,某些字段会存储中文字符,或是包含中文字符的串,查询出来的方法是: SELECT col FROM table WHERE length(col)!=char_length(col) 网上搜索有很多种查询方法,但是试了很多都不行,这个是找到的可以使用的查询方法,原理其实很简单,当字符集为UTF-8,并且字符为中文时,length() 和 char_length() 两个方法返回的结果是不相同的. # 以下这两个方法查询字段中是否包含中文 SELECT country FROM
sql中修改字符串类型的字段可以这么拼接:update tbName set UserName='abc'+UserName; 但mysql中就不行了,需要这样:update tbName set UserName=CONCAT('abc',UserName); 把查询出来的多个值,赋值给多个变量, sql:SELECT @oldOrderId=M_ORDERID,@oldParentId=M_PARENTID,@oldOrderPath=M_ORDERPATH FROM S_Menu WHER
前言:最近遇到一个需求,需要给一个数据库所有的表添加一个字段,但是一些后创建的表已经有了这个字段,所以引发了下文. *注释 columnName 字段名 dbName 数据库名 #查询指定库拥有某字段的表 AND TABLE_NAME NOT LIKE 'vw%' 注释:排除视图 SELECT DISTINCT TABLE_NAME FROM information_schema.COLUMNS WHERE COLUMN_NAME = 'columnName' AND TABLE_SCHEM
在项目当中用到Sphinx的时候,很多人遇到了这样的问题:使用mysql+Sphinx检索出了相关度的ID后,如何按照指定ID在Mysql中进行排序呢?这里是我在项目中的解决方法: 1 SELECT * FROM documents WHERE id IN (5,3,6,1) ORDER BY FIELD(id,5,3,6,1); 或者: 1 SELECT * FROM documents WHERE id IN (5,3,6,1) ORDER BY substring_index((id,5,
1. mysql 查询出某字段的值不为空的语句 1.不为空 select * from table where id <> ""; select * from table where id != ""; 2.为空 select * from table where id =""; select * from table where isNull(id); 具体情况具体分析,如果字段是char或者varchar类型的,使用id=&quo
当MySQL查询时排序的字段不是数字时而是汉字的时候也可以用when then 来指定排序. 列如yewu_check表的status 字段不是0,1,2而是汉字待办,已办,退回.可以如下写法: SELECT * FROM yewu_check ORDER BY CASE WHEN STATUS='待办' THEN 2 WHEN STATUS='已办' THEN 1 ELSE 0 END DESC 结果: