Mysql 的 IF 判断】的更多相关文章

mysql text字段判断是否为空 mysql text字段为空select * from `tableName` where `textField` is null or `textField` = ''; mysql text字段不为空select * from `tableName` where `textField` is not null AND `textField` != '';…
Mysql查找如何判断字段是否包含某个字符串   有这样一个需求,在Mysql数据库字符串字段(权限)中,用户有多个不同的邮箱,分别被‘,’分开,现在要取出某个邮箱的所有成员列表.   假设有个表:   ? 1 CREATE TABLE users(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),user_name VARCHAR(20) NOT NULL,emails VARCHAR(50) NOT NULL); 初始化表,并添加些记录.…
MySQL逻辑条件判断相关语句.函数使用举例介绍 By:授客 QQ:1033553122 1.  IFNULL函数介绍 IFNULL(expr1, expr2) 说明:假如expr1 不为NULL,则 IFNULL() 的返回值为expr1; 否则其返回值为 expr2.IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境. 注意:默认结果值为两个表达式中更加“通用”的一个,顺序为STRING. REAL或 INTEGER. 例子: SELECT IFNULL(1, 0); #…
好记性不如烂笔头-Mysql查找如何判断字段是否包含某个字符串 利用mysql 字符串函数 find_in_set(); SELECT * FROM users WHERE find_in_set('aa@email.com', emails)…
方法一: SELECT * FROM users WHERE emails like "%b@email.com%"; 方法二: 利用MySQL 字符串函数 find_in_set(); SELECT * FROM users WHERE find_in_set('aa@email.com', emails); 这样是可以的,怎么理解呢? mysql有很多字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以",&q…
mysql自带很多判断逻辑,今天说一说IF的判断语句,正好今天做项目的时候也用到了 1. IF 判断 IF判断和我们代码里面写的有略微的差别,举个例子 IF('表达式','结果1','结果2')  如果IF里面的表达式为真,返回结果1,如果为假,返回结果2 当然表达式还可以写多个条件,比如 当然表达式可以写复杂的逻辑 在实际开发中逻辑判断条件一般写的是你的字段名的值的判断逻辑. 个人建议不要在Mysql的语句中写太复杂的判断逻辑,因为mysql毕竟是数据库,判断并不是它的强项,写太多的判断逻辑肯…
方法一: SELECT * FROM users WHERE emails like “%b@email.com%”; 方法二: 利用mysql 字符串函数 find_in_set(); SELECT * FROM users WHERE find_in_set(‘aa@email.com’, emails); 这样是可以的,怎么理解呢? mysql有很多字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以”,”分割开. 注:当str…
方法一: SELECT * FROM users WHERE emails like "%b@email.com%"; 方法二: 利用mysql字符串函数 find_in_set(); SELECT * FROM users WHERE find_in_set('aa@email.com', emails); 这样是可以的,怎么理解呢? mysql有很多字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以",&qu…
在生产环境中,主从复制常常会有复制延迟的现象,主要是master是并发的写,而slave是单线程的应用relay log,所以会出现复制延时,在MySQL 5.6版本中有了基于库的多线程复制.还有MariaDB的并行复制.但是我们使用MySQL 5.5的版本也比较多.如何判断复制是否延时呢?工具现在可以使用的有pt-heartbeat,但是如果我们自己明白怎么样判断复制是否延时的话,自己写简单的shell脚本或者python脚本也可以完成. 复制是否延时的判断标准如下: 不要通过Seconds_…
当我们需要对数据做筛选和查询的时候,往往会涉及到一些限制条件的判断,今天就分享一个判断字符串的技巧. like 相信大家对like的用法肯定都很熟悉了,它可以匹配字段以某字符串开始,以某字符串结尾,包含有某字符串,用法如下:like '%string',like 'string%',like '%string%' find_in_set 现在我们遇到这样一个需求,字段里面的值是这样的,(1,2,3,4),(12,14),(3,5,11,12),(22,25,28,29),然后需要判断字段里面是否…
产生根源 比如我们有三条数据,对应的列名是delete_flag,对应的数据是'normal','delete',null. 此时我们查所有不等于delete的记录,我们期望的是两条记录 normal和null.我们书写如下sql. select * from a where delete_flag != 'delete' 发现查询出来的结果只是一条,这是因为mysql的空值过滤机制. 解决 1.进行一下非null判断 select * from a where IFNULL(delete_fl…
方法一:like SELECT * FROM 表名 WHERE 字段名 like "%字符%"; 方法二:find_in_set() 利用mysql 字符串函数 find_in_set(); SELECT * FROM users WHERE find_in_set('字符', 字段名); 这样是可以的,怎么理解呢? mysql有很多字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以","分割开. 注:…
背景:在开发过程中,我们经常需要根据时间作为判断条件来查询数据,例如:当月,当日,当前小时,几天内...... 1. 当月 我们只需要使用一个mysql的MONTH(date)函数即可实现.(注意判断年份) MONTH(date); -- 用法:MONTH函数返回一个整数,表示指定日期值的月份. -- 举例 SELECT MONTH('2020-11-11 00:00:00') -- 返回值是11 2. 30天内 之所以把"30天内"放在当月的后面,是因为我经常会遇到这两个需求相互转换…
select *,if(sva=1,"男","女") as ssva from taname where sva<>"" 12.2. 控制流程函数CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END CASE WHEN [condition] THEN result [WHEN [cond…
(转载)http://www.th7.cn/db/mysql/201306/31159.shtml 有这样一个需求,在Mysql数据库字符串字段(权限)中,用户有多个不同的邮箱,分别被‘,’分开,现在要取出某个邮箱的所有成员列表. 假设有个表: ) ) ) NOT NULL); 初始化表,并添加些记录. truncate table usersINSERT INTO users(user_name, emails) VALUES('小张','a@email.com,b@email.com,c@e…
先上代码,稍后附上说明: 1. 从mysql中取出记录,打印有效经纬度: import json import MySQLdb # lines = c.fetchall() #所有的记录,一个tuple #one = c.fetchone() def gen_row(): db = MySQLdb.connect(host=', db='kaqu') c = db.cursor() c.execute("select params from t2") row = c.fetchone(…
平时我们在设计数据库表的时候总会设计 unique 或者 给表加上 primary key 的限制条件.此时 插入数据的时候 ,经常会有这样的情况:我们想向数据库插入一条记录: 若数据表中存在以相同主键的记录,我们就更新该条记录. 否则就插入一条新的记录. ON DUPLICATE KEY UPDATE 如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE:…
一. 查询的数字转换为中文返回前端 1. 如果是0或1表状态等,可用: IF(字段 = 0, '否', '是') AS xxx 2. 如果是多个值,比如1,2,3可用: ELT(字段, '计划治理', '正在治理', '治理完成') AS xxx // 如果字段等于1返回第一位结果'计划治理' ,…
BEGIN DECLARE id long; DECLARE Done INT DEFAULT 0; DECLARE cashamount DECIMAL(10,2) DEFAULT 0.00; DECLARE scorecamount INT DEFAULT 0; DECLARE userids CURSOR FOR SELECT userid from info_user where isreal = 1; DECLARE CONTINUE HANDLER FOR SQLSTATE '020…
select  name,case WHEN m.NAME is null THEN '' else m.NAME end NAME1 from  sys_users…
直接看例子: DELIMITER $$CREATE DEFINER=`root`@`127.0.0.1` PROCEDURE `restore`(username varchar(50))BEGINif username is not null then    update user set invalid=0 and activate_time='0000-00-00 00:00:00' where `name`=username;else    update user set invalid…
今天正好有个新需求,要求在一张表中,保证不插入重复的记录. 即,保证每条记录中的某个字段的值不重复. 下面是我给出的SQL语句: //存在-->更新 //不存在-->插入 UPDATE 表名称 SET 字段1=插入值1, 字段2=插入值2, 字段3=插入值3 WHERE 表名称.字段3 = 插入值3 ; INSERT INTO 表名称 (字段1, 字段2, 字段3) SELECT 插入值1, 插入值2, 插入值3 FROM DUAL WHERE NOT EXISTS ( SELECT * FR…
在MySQL中条件判断语句常用于数据转换,基于现有数据创建新的数据列,使用场景还是比较多. 基础样式: CASE WHEN`条件`THEN`结果` ELSE`默认结果` END 在同一条判断语句中可以有一个到多个判断条件: CASE WHEN0`条件`THEN`结果0` WHEN1…… WHEN2…… ELSE`结果1` END 举例: 为每样产品增加`售价级别`字段,列出产品号码,产品名称,产品单价,售价级别. 售价级别由平均产品售价计算得出: `产品单价` 小于平均售价,级别为1, `产品单…
需求:      sql语句中,判断以逗号分隔的字符串中是否包含某个特定字符串,类似于判断一个数组中是否包含某一个元素, 例如:判断 'a,b,c,d,e,f,g' 中是否包含 'a',sql语句如何实现? 解决   1.mysql 字符串函数判断:   FIND_IN_SET(ele, str) ele 是一个特定字符, str 是一个以逗号分隔的字符串 或者 匹配这个参数的字段,必须以逗号分隔 select * from t_user where FIND_IN_SET('26', '1,2…
1.存储过程造数据 CREATE DEFINER=`root`@`localhost` PROCEDURE `generate_test_data`(`n` int) begin declare i int; DECLARE max_id bigint; set i=1; select max(dmId) into @max_id from wt_wallet ; set autocommit = 0; while i<=n do #生成 供应商 应收 对账 提现 钱包 INSERT INTO…
数据导入从sql server 到mysql (将数据以文本格式从sqlserver中导出,注意编码格式,再将文本文件导入mysql中): 1.若从slqserver中导出的表中不包含中文采用: bcp mytest.dbo.test out D:\temp\aa.txt -c -t"\t" –T bcp "select * from mytest.dbo.test" queryout D:\yucbtemp\aa.tx t -c -t"\t"…
修改Mysql配置 Mysql配置地址为: C:\Program Files (x86)\MySQL\MySQL Server 5.5 如果无法修改可以把my.ini拷贝出来,修改完后,再拷贝回去! 如果配置了Mysql的日志生成路径,但是该目录尚未创建,那么启动会报错! 关于Mysql日志 splunk内置了两种mysql的日志,分别是mysqld以及mysql_error mysqld_error Standard mysql error log标准的mysql错误日志 050818 16:…
循环一般在存储过程和存储函数中使用频繁,这里只给出最简单的示例 while delimiter $$ create procedure test_while() begin declare sum int default 0; declare t int default 5; while t>0 do set sum=sum+1; set t=t-1; end while; select sum; end $$ delimiter ; repeat delimiter $$ create pro…
node.js连接数据库有很多种,比如:mongoose,oracle,mysql...,我自己玩就选了一个我很熟悉的轻量级的mysql数据库尝试了一把,感觉不错. 首先要把mysql客户端安装好,官网http://dev.mysql.com/downloads/mysql/ 安装好的版本是以这样呈现的 注:因为在mysql5.6版本有启动有bug,会闪退,所以将my-default.ini文件名改成my.ini就可以弹出启动界面 用这样界面操作不是很直观,于是我下了一个有视图界面很直观的可以操…
MySQL日志: 主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志: 日志是mysql数据库的重要组成部分.日志文件中记录着mysql数据库运行期间发生的变化:也就是说用来记录mysql数据库的客户端连接状况.SQL语句的执行情况和错误信息等.当数据库遭到意外的损坏时,可以通过日志查看文件出错的原因,并且可以通过日志文件进行数据恢复. 错误日志 在mysql数据库中,错误日志功能是默认开启的.并且,错误日志无法被禁止.默认情况下,错误日志存储在mysql数据库的数据文件中.错误日志…