mysql语句 常用操作系列函数

常用sql操作函数 

DISTINCT  检索每个唯一的输出记录

SELECT DISTINCT (需要进行的字段) FROM table_name;

TIMESTAMPDIFF  参数是要表示结果的单位,以及两个日期之间的差值。以下查询为每只宠物显示出生日期,当前日期和年龄(以岁为单位)。一个 别名age)是用来制造最终输出列标签更有意义

SELECT name, birth, CURDATE(),
       TIMESTAMPDIFF(YEAR,birth,CURDATE()) AS age
       FROM pet

#YEAR  以年为单位
#birth  所需计算的表字段
#COURDATE  当前时间

表字段  IS NOT NULL

使用表字段IS NOT NULL而不是,表字段 <> NULL因为它 NULL是一个特殊值,无法使用常规比较运算符进行比较

YEAR() 

SELECT name, birth, YEAR(birth) as year FROM pet

# year 得到哪一年

 MONTH()

SELECT name, birth, MONTH(birth) as monthFROM pet

# MONTH 得到几月

DAYOFMONTH()

SELECT name, birth,  DAYOFMONTH(birth) as time from pet

# time 得到几号

 DATE_ADD()

#使您可以将时间间隔添加到给定的日期。如果您将的值加上一个月CURDATE(),则使用提取月份部分MONTH(),结果将生成要寻找生日的月份
SELECT name, birth FROM pet
       WHERE MONTH(birth) = MONTH(DATE_ADD(CURDATE(),INTERVAL 1 MONTH));

#完成相同任务的另一种方法是1在使用模函数(MOD)将月份值包装0为当前值之后,将其添加 到当前月份之后的下个月12:
SELECT name, birth FROM pet
       WHERE MONTH(birth) = MOD(MONTH(CURDATE()), 12) + 1;

#MONTH()返回介于1和之间的数字12。并 MOD(something,12)返回介于0和之间的数字11。因此加法必须在之后 MOD(),否则我们将从11月(11)到1月(1)

 IS NULL  && IS NOT NULL

#你不能使用算术比较操作符,如 =, <或 <>以测试NULL。为了自己演示这一点,请尝试以下查询:

mysql> SELECT 1 = NULL, 1 <> NULL, 1 < NULL, 1 > NULL;
+----------+-----------+----------+----------+
| 1 = NULL | 1 <> NULL | 1 < NULL | 1 > NULL |
+----------+-----------+----------+----------+
|     NULL |      NULL |     NULL |     NULL |
#由于与的任何算术比较结果 NULL也为NULL,因此您无法从此类比较中获得任何有意义的结果。

#在MySQL中,0或NULL 表示false,其他表示true。布尔运算的默认真值是1。

#特殊处理NULL是为什么在上面,有必要使用death IS NOT NULL来代替确定哪些动物不再存活death <>NULL。

#在中,两个NULL值被视为相等 GROUP BY。

#执行时ORDER BY,如果执行, NULL则首先显示值,如果执行 ORDER BY ... ASC,则最后显示 ORDER BY ... DESC。

#使用时的一个常见错误NULL是假定无法在定义为的列中插入零或空字符串NOT NULL,但事实并非如此。这些实际上是值,而 NULL意味着“ 没有值。”您可以使用这个测试很轻松地 IS [NOT] NULL,
mysql> SELECT 0 IS NULL, 0 IS NOT NULL, '' IS NULL, '' IS NOT NULL;
+-----------+---------------+------------+----------------+
| 0 IS NULL | 0 IS NOT NULL | '' IS NULL | '' IS NOT NULL |
+-----------+---------------+------------+----------------+
|         0 |             1 |          0 |              1 |

LIKE  NOT LIKE  模糊查询

MAX  列的最大值

SELECT MAX(表字段) AS 别名 FROM table_name;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值