Mysql之各种各样的函数啦
2016-04-21 15:51
537 查看
各种各样的函数(一些自带的便利工具)
分类:算术,字符串,日期,转换,聚合。
1.ABS绝对值
ABS(数值) :select m,ABS(m) as abs_col from samplemath;
2.求余MOD
MOD(被除数,除数) :select n,p,MOD(n,p) as mod_col from samplemath;
3.round函数
ROUND函数(对象数值,保留小数的位数)
-----对m列的数值进行n列位数的四舍五入处理
Select m,n,ROUND(m,n) as round_col FROM Samplamath;
4.|| 拼接
Select str1,str2,str1||str2 as str_concat from samplestr;
5.拼接三个字符串(str1+str2+str3)
Select str1,str2,str3,str1||str2||str3 as str_concat from samplestr where str1 = ‘lala’;
//mysql select str1,str2,str3,concat(str1,str2,str3) as str_concat from samplestr;
6.计算字符串长度LENGTH(字串)
Select str1,length(str1) as len_str from samplestr;//注意length函数不能再sql server中用
7.lower---小写转换
Lower(字符串) select str1 lower(str1) as low_str
From samplestr where str in(‘ABC’,’aBC’,’abc’,’三本’);
8.replace--字符串替换
Replace(字符串对象,替换前字符串对象,替换后字符串对象);
Select str1,str2,str3,replace(str1,str2,str3) as rep_str from samplestr;
9.SUBSTRING(object_str from 截取位置 FOR 截取的字符数)
---截取出字符串中第三和第四位的字符
Select str1 substring(str1 from 3 for 2) as sub_str
From samplestr;
10. Upper--大写转换
Select str1 upper(str1) as up_str from samplestr where str in (‘abc’,’aBc’,’ABC’,’三本’);
----将小写换成大写
11.CURRENT_DATE---日期函数
Select CURRENT_DATE;
----截取当前日期
CURRENT_TIME---获取当前时间
Select CURRENT_TIME;
CURRENT_TIMESTAMP ---当前日期和时间
Select CURRENT_TIMESTAMP;
---截取日期元素EXTRACT(日期元素 FROM 日期);
Select CURRENT_TIMESTAMP,EXTRACT(YEAR FROM CURRENT_TIMESTAMP) AS year,
EXTRACT(MONTH FROM CURRENT_TIMESTAMP) AS month,
EXTRACT(DAY FROM CURRENT_TIMESTAMP) AS day,
EXTRACT(HOUR FROM CURRENT_TIMESTAMP) AS hour,
EXTRACT(MINUTE FROM CURRENT_TIMESTAMP) AS minute,
EXTRACT(SECOND FROM CURRENT_TIMESTAMP) AS second;
12.类型转换---CAST
Select CAST(‘0001’ AS INTEGER) AS int_col;
---将字符串型转换为数值型
Select CAST(‘2009-12-14’ AS DATE) AS date_col;
---将字符串类型转换为日期类型
COALESCE---将NULL转换为其他值
COALESCE(数据1,数据2,。。。,);
Select COALESCE(NULL,1) AS col_1,COALESCE(NULL,’test’,NULL) AS col_2,
Coalesce(NULL,NULL,’2009-11-01’);
6-2谓词(predicate)
LIKE ,BETWEEN,IS NULL、IS NOT NULL IN EXISTS
---前方一致查询
Select * from samplelike
Where strcol LIKE ‘ddd%’;
---中间一致查询
Select * from samplelike where strcol LIKE ‘%ddd%’;
---后方一致查询
Select *form samplelike where strcol LIKE ‘%ddd’;
------使用LIKE和_(下划线)进行后方查询一致
Select *
From sample
Where strcol LIKE ‘abc__’;
BETWEEN范围查询
Select shohin_mei,hanbai_tanka
From shohin
Where hanbai_tanka BETWEEN 100 AND 1000;特点在于结果中会包含100和1000这两个值
Select shohin_mei,hanbai_tanka
From shohin
Where hanbai_tanka >= 100 AND hanbai_tanka <= 1000;
----上下两个是等效的
IS NULL 和IS NOT NULL---判断是否为NULL
Select shohin_mei,shiire_tanka
From shohin
Where shiire_tanka IS NULL;
Select shohin_mei,shiire_tanka From shohin
Where shiire_tanka IS NOT NULL;
IN谓词--OR的简便用法
Select shohin_mei,shiire_tanka
From shohin
Where shiire_tanka = 320 OR
Shiire_tanka = 500 OR
Shiire_tanka = 5000;
Select shohin_mei,shiire_tanka
From shohin
Where shiire_tanka IN (320,500,5000);
EXIST谓词
作用:“判断是否存在满足某条件的记录”;
Select shohin_mei,hanbai_tanka
From shohin AS S
Where EXISTS(select * from TenpoShohin AS TS
Where TS.tenpo_id = ‘00C’ AND TS,shohin_id = S.shohin_id);
6-3CAST表达式
CAST WHEN <判断式子> THEN <表达式>
.
.
.
WHEN <判断式子> THEN<表达式>
ELSE <表达式>
END
---通过CASE表达式将A-C的字符串加入到商品分类当中去
Select shohin_mei,
CASE WHEN shohin_bunrui = ‘衣服’
THEN ‘A:’ ||shohin_bunrui
WHEN shohin_bunrui = ‘办公用品’
THEN ‘B:’ || shohin_bunrui
WHEN shohin_bunrui = ‘厨房用具’
ELSE NULL
END NULL
END AS abc_shohin_bunrui
FROM shohin;
Select shohin_bunrui,SUM(hanbai_tanka) AS sum_tanak
From shohin group by shohin_bunrui;
分类:算术,字符串,日期,转换,聚合。
1.ABS绝对值
ABS(数值) :select m,ABS(m) as abs_col from samplemath;
2.求余MOD
MOD(被除数,除数) :select n,p,MOD(n,p) as mod_col from samplemath;
3.round函数
ROUND函数(对象数值,保留小数的位数)
-----对m列的数值进行n列位数的四舍五入处理
Select m,n,ROUND(m,n) as round_col FROM Samplamath;
4.|| 拼接
Select str1,str2,str1||str2 as str_concat from samplestr;
5.拼接三个字符串(str1+str2+str3)
Select str1,str2,str3,str1||str2||str3 as str_concat from samplestr where str1 = ‘lala’;
//mysql select str1,str2,str3,concat(str1,str2,str3) as str_concat from samplestr;
6.计算字符串长度LENGTH(字串)
Select str1,length(str1) as len_str from samplestr;//注意length函数不能再sql server中用
7.lower---小写转换
Lower(字符串) select str1 lower(str1) as low_str
From samplestr where str in(‘ABC’,’aBC’,’abc’,’三本’);
8.replace--字符串替换
Replace(字符串对象,替换前字符串对象,替换后字符串对象);
Select str1,str2,str3,replace(str1,str2,str3) as rep_str from samplestr;
9.SUBSTRING(object_str from 截取位置 FOR 截取的字符数)
---截取出字符串中第三和第四位的字符
Select str1 substring(str1 from 3 for 2) as sub_str
From samplestr;
10. Upper--大写转换
Select str1 upper(str1) as up_str from samplestr where str in (‘abc’,’aBc’,’ABC’,’三本’);
----将小写换成大写
11.CURRENT_DATE---日期函数
Select CURRENT_DATE;
----截取当前日期
CURRENT_TIME---获取当前时间
Select CURRENT_TIME;
CURRENT_TIMESTAMP ---当前日期和时间
Select CURRENT_TIMESTAMP;
---截取日期元素EXTRACT(日期元素 FROM 日期);
Select CURRENT_TIMESTAMP,EXTRACT(YEAR FROM CURRENT_TIMESTAMP) AS year,
EXTRACT(MONTH FROM CURRENT_TIMESTAMP) AS month,
EXTRACT(DAY FROM CURRENT_TIMESTAMP) AS day,
EXTRACT(HOUR FROM CURRENT_TIMESTAMP) AS hour,
EXTRACT(MINUTE FROM CURRENT_TIMESTAMP) AS minute,
EXTRACT(SECOND FROM CURRENT_TIMESTAMP) AS second;
12.类型转换---CAST
Select CAST(‘0001’ AS INTEGER) AS int_col;
---将字符串型转换为数值型
Select CAST(‘2009-12-14’ AS DATE) AS date_col;
---将字符串类型转换为日期类型
COALESCE---将NULL转换为其他值
COALESCE(数据1,数据2,。。。,);
Select COALESCE(NULL,1) AS col_1,COALESCE(NULL,’test’,NULL) AS col_2,
Coalesce(NULL,NULL,’2009-11-01’);
6-2谓词(predicate)
LIKE ,BETWEEN,IS NULL、IS NOT NULL IN EXISTS
---前方一致查询
Select * from samplelike
Where strcol LIKE ‘ddd%’;
---中间一致查询
Select * from samplelike where strcol LIKE ‘%ddd%’;
---后方一致查询
Select *form samplelike where strcol LIKE ‘%ddd’;
------使用LIKE和_(下划线)进行后方查询一致
Select *
From sample
Where strcol LIKE ‘abc__’;
BETWEEN范围查询
Select shohin_mei,hanbai_tanka
From shohin
Where hanbai_tanka BETWEEN 100 AND 1000;特点在于结果中会包含100和1000这两个值
Select shohin_mei,hanbai_tanka
From shohin
Where hanbai_tanka >= 100 AND hanbai_tanka <= 1000;
----上下两个是等效的
IS NULL 和IS NOT NULL---判断是否为NULL
Select shohin_mei,shiire_tanka
From shohin
Where shiire_tanka IS NULL;
Select shohin_mei,shiire_tanka From shohin
Where shiire_tanka IS NOT NULL;
IN谓词--OR的简便用法
Select shohin_mei,shiire_tanka
From shohin
Where shiire_tanka = 320 OR
Shiire_tanka = 500 OR
Shiire_tanka = 5000;
Select shohin_mei,shiire_tanka
From shohin
Where shiire_tanka IN (320,500,5000);
EXIST谓词
作用:“判断是否存在满足某条件的记录”;
Select shohin_mei,hanbai_tanka
From shohin AS S
Where EXISTS(select * from TenpoShohin AS TS
Where TS.tenpo_id = ‘00C’ AND TS,shohin_id = S.shohin_id);
6-3CAST表达式
CAST WHEN <判断式子> THEN <表达式>
.
.
.
WHEN <判断式子> THEN<表达式>
ELSE <表达式>
END
---通过CASE表达式将A-C的字符串加入到商品分类当中去
Select shohin_mei,
CASE WHEN shohin_bunrui = ‘衣服’
THEN ‘A:’ ||shohin_bunrui
WHEN shohin_bunrui = ‘办公用品’
THEN ‘B:’ || shohin_bunrui
WHEN shohin_bunrui = ‘厨房用具’
ELSE NULL
END NULL
END AS abc_shohin_bunrui
FROM shohin;
Select shohin_bunrui,SUM(hanbai_tanka) AS sum_tanak
From shohin group by shohin_bunrui;
相关文章推荐
- jdbc连接Mysql数据库
- Mysql之子查询
- Mysql之事务与视图
- Mysql之insert,update,delete
- mysql创建utf-8字符集数据库
- mysql 时间函数大全 DATE
- Mysql之统计数据
- Mysql之运算的使用
- MySQL审计之插件
- MySQL 5.6.14 win32 zip版安装
- Mysql之查询基础select
- Mysql之数据库与sql
- mysql 主从复制
- Mysql游标遍历
- MYSQL的慢查询两个方法
- Windows安装MySQL
- Mysql编码出现错乱问题
- mysql优化
- 报错:Could not load JDBC driver class [com.mysql.jdbc.Driver]
- mysql sql语句