• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MySQL之函数与谓词的实例详解

MySQL之函数与谓词的实例详解

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了MySQL,谓词,函数等相关知识,希望本文的分享对您有所帮助
前文已有涉及,这里作为总结重新整理一下。

一、函数

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换为str3
SELECT 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

--判断是否为NULL
IS 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;

以上就是MySQL之函数与谓词的实例详解的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享下mysql各个主要版本之间的差异
  • MySQL essential版本和普通版本有什么区别?
  • redhat 5.4下安装MYSQL全过程
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 5个常用的MySQL数据库管理工具详细介绍
  • 解析在MySQL里创建外键时ERROR 1005的解决办法
  • 解析远程连接管理其他机器上的MYSQL数据库
  • mysql 精简过程(删除一些文件)

相关文章

  • 2018-12-05全面了解mysql中utf8和utf8mb4的区别_MySQL
  • 2018-12-05SQL Server 数据库清除日志的方法
  • 2017-05-11深入理解mysql之left join 使用详解
  • 2017-05-11MySQL的安全问题从安装开始说起
  • 2018-12-05MySQL索引的索引长度问题具体介绍
  • 2018-12-05总结关于索引合并注意点
  • 2018-12-05Server2005中更改sa的用户名的多种方法
  • 2018-12-05日期和时间处理函数及数值处理函数实例(数据处理函数的使用二)
  • 2018-12-05mYsql日期和时间函数不求人
  • 2018-12-05数据库表设计-邻接表、路径枚举、嵌套集、闭包表

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • ORACLE 回收站当前状态查询整理
    • varchar和text说不清的那些事
    • MySQL 教程之SQL数据的基本操作
    • mysql 字符串长度计算实现代码(gb2312+utf8)
    • mysql5.7.21解压版安装配置图文
    • MySQL下的RAND()优化案例分析
    • 21条MySQL优化建议(经验总结)
    • mysql 远程连接数据库的方法集合
    • 高访问量的评论系统数据库存储过程架构
    • MySql的事务使用与示例详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有