由中国天气网提供

MYSQL中concat_ws与concat的区别及应用

[不指定 2018/07/20 15:31 | by 吕进 | Via 本站原创 ]
1、concat函数可以连接一个或者多个字符串,如:
select concat('11','22','33'); 结果: 112233
2、concat_ws 函数是用分隔符连接一个或者多个字符串,如
select concat_ws(',','11','22','33'); 结果:11,22,33
和concat()不同的是, concat_ws()函数在执行的时候,不会因为NULL值而返回NULL

3、concat_ws实例:
concat_ws 组合多字段(第1个参数是分隔符),进行模糊查询,如
用concat_ws优化,如
Select * from jww_xxdd where concat_ws('+',xxdd_dybh,kh_dh,ydbh) like '%281%' ;

Select * from jww_xxdd where xxdd_dybh like  '%281%'  or kh_dh like  '%281%'  or  ydbh like  '%281%' ;


Tags: , ,

MYSQL正则表达式查询

[不指定 2018/07/20 13:44 | by 吕进 | Via 本站原创 ]
select books from tb_book where books

regexp ‘^php’; 字符串开头

regexp ‘php$’; 字符串结尾

regexp ‘p.’; #匹配任意一个字符

regexp ‘[abc]’; #匹配abc中任意一个字符

regexp ‘[^a-z]’; #匹配除字符集外任意一个字符

regexp ‘s1|s2|s3’;#匹配任意一个字符串

regexp ‘j*a’; #匹配多个该字符a之前的字符j;j+a至少一个j

regexp ‘a{3}’; #匹配字符串连续出现3次

regexp ‘a{2,4}’; #匹配字符串最少2次,最多4次
Tags:

MYSQL自定义函数

[不指定 2018/05/07 07:59 | by 吕进 | Via 本站原创 ]
1、自定义FUNCTION函数:
delimiter $$
CREATE FUNCTION lswlif(qian decimal(6,2))
RETURNS varchar(10) CHARSET utf8
BEGIN
if (qian > 0) then
  RETURN '亏';
elseif (qian < 0) then
  RETURN '盈';
ELSE
  RETURN '平';
end if;
END $$
delimiter ;

2、查看自定义函数:
show function status;

3、删除FUNCTION函数:
DROP FUNCTION lswlif;
本句中的“lswlif”是函数名。
Tags: , ,

MySQL批量删除指定前缀表

[不指定 2014/08/29 19:18 | by 吕进 | Via mysql ]
MySQL批量删除指定前缀表
Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE 'dede_%';

"dede"为要删除的表前缀,执行此SQL语句后会生成一串SQL语句,必须再执行生成的这些SQL语句才能真正执行删除操作。
另外一个就是批量修改表名:
Select CONCAT( 'ALTER TABLE ', table_name, 'RENAME TO ', table_name,';' ) FROM information_schema.tables Where table_name LIKE 'dede_%';

以上都必须首先在服务器 "localhost" 运行 SQL 查询,然后在对应的数据库下运行 SQL 查询。
Tags:

mysql 满足某个条件的时候求和

[不指定 2014/08/07 15:37 | by 吕进 | Via 本站原创 ]
数据库结构表
CREATE TABLE IF NOT EXISTS `ceshi` (
  `id` int(5) NOT NULL auto_increment,
  `Type` enum('1','2') character set utf8 NOT NULL default '1' COMMENT '1:收入,2:支出',
  `Name` varchar(4) character set utf8 NOT NULL,
  `date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  `Amount` decimal(9,2) NOT NULL COMMENT '金额',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

按Name汇总收入和支出的语句:
select NAME, sum(if(Type=1,Amount,0)) as 收入,  
sum(if(Type=2,Amount,0)) as 支出 from ceshi group by name

效果图:
点击在新窗口中浏览此图片
Tags:
分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]