博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL(三)--函数与谓词
阅读量:4614 次
发布时间:2019-06-09

本文共 3243 字,大约阅读时间需要 10 分钟。

前文已有涉及,这里作为总结重新整理一下。

一、函数

1、算术函数

NUMERIC 是大多数 DBMS 都支持的一种数据类型,通过 NUMBERIC ( 全体位数, 小数位数 ) 的形式来指定数值的大小。

-- +-*/--余数SELECT n, p, MOD(n, p) AS mod_col FROM SampleMath;--绝对值SELECT m, ABS(m) AS abs_col FROM SampleMath;--四舍五入SELECT m, n, ROUND(m, n) AS round_col FROM SampleMath;

2、字符串函数

--字符串拼接SELECT str1, str2, str3, CONCAT(str1, str2, str3) AS str_concat FROM SampleStr--字符串长度SELECT str1, LENGTH(str1) AS len_str FROM SampleStr;--大小写转换SELECT str1, UPPER/LOWER(str1) AS low_str FROM SampleStr WHERE str1 IN ('ABC', 'aBC', 'abc')--字符串替换str1中的str2换为str3SELECT str1, str2, str3, REPLACE(str1, str2, str3) AS rep_str FROM SampleStr; --字符串截取 FROM截取的起始位置FOR截取的字符数SELECT str1, SUBSTRING(str1 FROM 3 FOR 2) AS sub_str FROM SampleStr;

3、日期函数

--当前日期SELECT CURRENT_DATE;--当前时间SELECT CURRENT_TIME;--当前时间戳SELECT CURRENT_TIMESTAMP;--截取日期元素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;

4、转换函数

--类型转换SELECT CAST('0001' AS SIGNED INTEGER) AS int_col;SELECT CAST('2009-12-14' AS DATE) AS date_col;--将 NULL 转换为其他值--返回可变参数中左侧开始第 1 个不是 NULL 的值SELECT COALESCE(NULL, 1)                  AS col_1,       COALESCE(NULL, 'test', NULL)       AS col_2,       COALESCE(NULL, NULL, '2009-11-01') AS col_3;

5、聚合函数

COUNT、SUM、AVG、MAX、MIN

二、谓词

谓词的作用就是“判断是否存在满足某种条件的记录”。如果存在这样的记录就返回真(TRUE),如果不存在就返回假(FALSE)。

--部分一致查询LIKE--范围查询BETWEEN--判断是否为NULLIS NULL、IS NOT NULL--OR 的简便用法IN--谓词的主语是“记录”...没懂!EXISTS

三、CASE 表达式

--格式CASE WHEN 
<求值表达式>
THEN
<表达式>
WHEN
<求值表达式>
THEN
<表达式>
WHEN
<求值表达式>
THEN
<表达式>
. . . ELSE
<表达式>
END
-- 使用搜索CASE表达式的情况SELECT product_name,      CASE WHEN product_type = '衣服'           THEN 'A :' | |product_type           WHEN product_type = '办公用品'           THEN 'B :' | |product_type           WHEN product_type = '厨房用具'           THEN 'C :' | |product_type           ELSE NULL       END AS abc_product_type  FROM Product;-- 使用简单CASE表达式的情况SELECT product_name,       CASE product_type            WHEN '衣服'      THEN 'A :' || product_type            WHEN '办公用品'  THEN 'B :' || product_type            WHEN '厨房用具'  THEN 'C :' || product_type            ELSE NULL        END AS abc_product_type  FROM Product;
--使用IF代替CASE表达式SELECT  product_name,       IF( IF( IF(product_type = '衣服',                   CONCAT('A :', product_type), NULL)               IS NULL AND product_type = '办公用品',                   CONCAT('B :', product_type),           IF(product_type = '衣服',              CONCAT('A :', product_type), NULL))                  IS NULL AND product_type = '厨房用具',                     CONCAT('C :', product_type),                  IF( IF(product_type = '衣服',                       CONCAT('A :', product_type), NULL)               IS NULL AND product_type = '办公用品',                  CONCAT('B :', product_type),           IF(product_type = '衣服',              CONCAT('A :', product_type),         NULL))) AS abc_product_type FROM Product;

转载于:https://www.cnblogs.com/lidyan/p/7086981.html

你可能感兴趣的文章
弹性光网络
查看>>
asp后台获取js中变量的值
查看>>
字符串和列表互相转换
查看>>
关于web界面设计的整体可维护性的感悟
查看>>
memcached配置
查看>>
java.lang.NoSuchMethodError: No static method getFont
查看>>
【求神——唐伯虎点秋香】
查看>>
Javascript Array和String的互转换
查看>>
GTD:让大脑用来思考,而不是用来记事!
查看>>
Spark程序进行单元测试-使用scala
查看>>
Oozie简单配置与使用
查看>>
根目录空间沾满
查看>>
python基础知识13-迭代器与生成器,导入模块
查看>>
Spring 操作Weblogic JDNI数据源
查看>>
bower程序包管理器与npm的对比及handlebars包的使用实例
查看>>
ES6 数值的扩展
查看>>
模块操作
查看>>
数据链路层笔记
查看>>
HTML5开发:原理与实现
查看>>
pip安装问题
查看>>