mysql TIMESTAMPDIFF和TIMESTAMPADD说明
1.TIMESTAMPDIFF
语法:
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)。
说明:
返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:
FRAC_SECOND。表示间隔是毫秒
SECOND。秒
MINUTE。分钟
HOUR。小时
DAY。天
WEEK。星期
MONTH。月
QUARTER。季度
YEAR。年
2.TIMESTAMPADD
语法:
TIMESTAMPADD(interval,int_expr,datetime_expr)
说明:
将整型表达式int_expr 添加到日期或日期时间表达式 datetime_expr中。式中的interval和上文中列举的取值是一样的。
mysql case when then else end说明
例:
select id,(case when type=1 then '普通用户'
when type=2 then 'VIP用户'
when type=3 then '管理员'
else '其它' end) type
from user
分类统计使用场景:
select sum(case when type = 1 then 1 else 0 end) 'a',
sum(case when type = 2 then 1 else 0 end) 'b',
sum(case when type = 3 then 1 else 0 end) 'c',
count(id) total
from user
mysql group_concat
函数作用: 当SQL语句中使用到....group by....的时候, 该函数能够将相同的行组合起来。
函数语法:
group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator '分隔符'] )
例:
select u.id,u.name username,group_concat(o.number SEPARATOR ';') numbers
from user u
left join order o on o.userid=u.id
===========================================
id | username | numbers
1 | huhui | order1;order2
mysql concat
使用方法:
CONCAT(str1,str2,…)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
注意:
如果所有参数均为非二进制字符串,则结果为非二进制字符串。
如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。
一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:
SELECT CONCAT(CAST(int_col AS CHAR), char_col) ...
concat_ws
CONCAT_WS(separator,str1,str2,...)
CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。
注意:
如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。
如连接后以逗号分隔
mysql> select concat_ws(',','11','22','33');
+-------------------------------+
| concat_ws(',','11','22','33') |
+-------------------------------+
| 11,22,33 |
+-------------------------------+
mysql distinct
select结果值去重,例:一个user表
id | name
1 | a
2 | b
3 | b
4 | c
select distince name from user;
================================
name
a
b
c
若想把user表的其它字段也显示出来,则建议使用group by(group by比distinct查询速度快):
select id,name from user group by name;
当然也有些场景会使用到:
select a.*,group_concat(distinct b.name) from ...
mysql DATE_FORMAT
定义和用法
DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。
语法
DATE_FORMAT(date,format)
date 参数是合法的日期。format 规定日期/时间的输出格式。
可以使用的格式有:
格式描述
%a缩写星期名
%b缩写月名
%c月,数值
%D带有英文前缀的月中的天
%d月的天,数值(00-31)
%e月的天,数值(0-31)
%f微秒
%H小时 (00-23)
%h小时 (01-12)
%I小时 (01-12)
%i分钟,数值(00-59)
%j年的天 (001-366)
%k小时 (0-23)
%l小时 (1-12)
%M月名
%m月,数值(00-12)
%pAM 或 PM
%r时间,12-小时(hh:mm:ss AM 或 PM)
%S秒(00-59)
%s秒(00-59)
%T时间, 24-小时 (hh:mm:ss)
%U周 (00-53) 星期日是一周的第一天
%u周 (00-53) 星期一是一周的第一天
%V周 (01-53) 星期日是一周的第一天,与 %X 使用
%v周 (01-53) 星期一是一周的第一天,与 %x 使用
%W星期名
%w周的天 (0=星期日, 6=星期六)
%X年,其中的星期日是周的第一天,4 位,与 %V 使用
%x年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y年,4 位
%y年,2 位
例:
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')
mysql having
SQL标准要求HAVING必须引用GROUP BY子句中的列或用于总计函数中的列。
例:查询只有一张订单的所有用户服务
select u.id,u.name from user u
left join order o on o.userid=u.id
group by u.id,u.name
having count(o.id)=1
locate(substr,str)
判断一个字符串是否包含某字符串,若包含返回>0的数,否则返回0。
例:查询用户名中不包含'hu'的数据
select id,name from userinfo where locate('hu',name)=0;
exists
用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False。
not exists则查询不存在。
SELECT * FROM t1
WHERE EXISTS(SELECT 1 FROM t2 WHERE t2.field1 = t1.field1)
update join
表关联更新
UPDATE T1
[INNER JOIN | LEFT JOIN] T1 ON T1.C1 = T2. C1
SET T1.C2 = T2.C2, T2.C3 = expr
WHERE condition
insert select
INSERT INTO t1 (field1,field2) SELECT field1,field2 FROM t2
in 和 find_in_set
例:
INSERT INTO `test` VALUES (1, 'name', 'dd,aa,cc');
INSERT INTO `test` VALUES (2, 'name2', 'ee,aa,bb');
INSERT INTO `test` VALUES (3, 'name3', 'aa,ff,xx');
test1:sql = select * from `test` where 'aa' IN (`list`);
得到结果空值.
test2:sql = select * from `test` where FIND_IN_SET('aa',`list`);
得到三条数据。
相关推荐
### MySQL常用函数详解 #### 数学函数 - **ABS(x)**: 返回参数`x`的绝对值。 - **BIN(x)**: 将十进制数字`x`转换为二进制字符串表示。 - **CEILING(x)**: 返回不小于`x`的最小整数值。 - **EXP(x)**: 返回`e`的`x`...
MySQL关于自定义函数以及常用函数的组织点的总结(例如日期函数)
本知识点主要介绍MySQL中的常用函数,包括数学函数和字符串函数。 数学函数是指用于处理数值计算的函数,MySQL提供了丰富的数学函数来支持各种数值计算需求。ABS(n)函数返回参数n的绝对值。例如ABS(-32)会返回32。...
根据提供的文件信息,本文将对MySQL中的常用函数进行详细的解读与总结。这些函数涵盖了字符串处理、数值转换等多个方面,对于数据库开发与维护人员来说是非常重要的工具。下面将逐一解析每个函数的功能及其用法。 #...
连接字符串常用:concat函数。如sql查询条件的like查询, AND c.name like concat(#{param.name},’%’) 将Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符串 ’80’ 2、Cast函数;CONVERT函数...
php、js、jquery、mysql、正则、文件处理函数、图像处理函数、时间函数,常用函数总结
### MySQL日期函数总结 在MySQL数据库管理中,处理日期与时间是常见的需求之一。通过使用各种日期函数,我们可以实现对日期进行格式化、计算日期之间的差异等操作,从而提高数据处理效率。本文将对MySQL中常用的...
### PHP与MySQL常用函数详解 #### 一、引言 在Web开发中,PHP与MySQL是经常被一起使用的强大组合。通过PHP可以方便地与MySQL数据库进行交互,实现数据的增删改查等功能。本文将详细介绍一些在PHP操作MySQL数据库时...
本文主要探讨了MySQL中的一些常用函数,涵盖了聚集函数、字符串处理、数值运算以及时间日期处理等多个方面。 首先,聚集函数是MySQL中处理大量数据时非常重要的工具。例如,`AVG()`函数用于计算指定字段的平均值,...
总结,MySQL的函数集提供了强大的数据处理能力。掌握`DECODE`函数及其在条件判断中的应用,以及熟练使用日期和字符串转换函数,将极大地提高你的数据库操作效率。通过不断学习和实践,你可以更高效地利用MySQL来处理...
PHP常用函数1 PHP中有许多常用的函数,这些函数可以帮助开发者更方便地进行开发和维护。下面我们来总结一些常用的PHP函数。 一、数据库连接函数 在PHP中,连接数据库是非常重要的一步。mysql_connect()函数用于...
MySQL是一种广泛使用的开源关系型数据库管理系统,其丰富的函数集使得数据处理变得更加灵活高效。下面将详细阐述标题和描述中提到的一些关键知识点。 一、日期类型函数 在MySQL中,日期和时间处理是至关重要的。2.1...
本文将详细解析几种常用的PHP函数来实现与MySQL数据库的连接及操作。 #### 1. `mysql_connect()` — 建立数据库连接 `mysql_connect()`函数用于创建与MySQL数据库的连接。其基本语法如下: ```php resource mysql...
本篇文章将总结一些常用的PHP函数,帮助开发者更好地理解和运用这些工具。 1. 数学与三角函数: - `abs()`: 返回一个数的绝对值,例如`abs(-5)`将返回5。 - `acos()`: 返回一个数的反余弦值,例如`acos(0)`将返回...
这个"php常用函数合集"包含七个PDF文档,旨在为开发者提供PHP的基础及常用的函数参考。以下将对这些常见函数进行详尽的介绍。 1. **字符串处理函数** - `strlen()`: 计算字符串的长度。 - `str_replace()`: 在...
"《MySQL常用命令汇总》.pdf"可能是对MySQL常用命令的详细总结,适合快速查找和学习。"mysql函数大全(PDF版).pdf"则可能全面介绍了MySQL的各种函数,便于深入理解和应用。 对于初学者而言,掌握这些基本的MySQL函数...
MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的...