博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7. 数据库函数
阅读量:6816 次
发布时间:2019-06-26

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

        每个数据库都会在标准的SQL基础上扩展一些函数。函数一般会有一或多个输入(即参数),最终只返回一个值作为返回值。
        SQL中的函数是独立的程序单元。调用时无需使用任何类、对象作为调用者。
  • 多行函数(也称 聚集函数、分组函数)
        对多行输入整体计算,最后只得到一个结果。主要完成一些统计功能,在大部分数据库中基本相同。
  • 单行函数
        对每行输入值单独计算,每行得到一个结果并返回。不同数据库单行函数差别很大。
MySQL中的 单行函数具有如下特征:
  • 可多个参数,但只返回一个值;
  • 参数可以是变量、常量、数据列;
  • 对每行单独起作用,每行返回一个结果;
  • 使用单行函数可改变参数的数据类型;
  • 支持嵌套使用(内层函数返回值是外层函数的参数)。
       
MySQL单行函数分类:
        MySQL数据库的数据类型大致分为数值型、字符型和日期时间型,MySQL提供了对应的函数。
数值函数、字符函数、日期和时间函数、转换函数、其他函数(位函数、流程控制函数、加密解密函数、信息函数) 。

name字段的字长度(输出行数与表的行数相同)

SELECT

    CHAR_LENGTH(NAME)

FROM student;

 

嵌套使

SELECT SIN(CHAR_LENGTH(NAME))

FROM student;

 

指定日期添加一定的时间

SELECT

    DATE_ADD(

        '2016-02-28',

        # INTERVAL字,后跟一个值和单位

        INTERVAL DAY #输出2016-03-01

    );

 

更简便的增加指定时间

SELECT

    ADDDATE('2015-01-18',3);

 

SELECT

    # CURTIME(); # 获取当前时间,17:52:55

    # 获取当前日期,如2016-01-19

    CURDATE();

 

# MD5加密

SELECT MD5('hello');

 

#

#处理NULL的函数

#

SELECT

    # IFNULL(id,'expr') # idnull,则返回expr

    # NULLIF(grade, math) # grademath相等则返回null则返回grade

    ISNULL(id) # null则返回0(true)则返回1(false)

FROM student;

 

SELECT

    # expr1idtrue、不等于0且不等于null,则返回expr2则返回expr3

    #此处id布尔,只要空即true

IF(id,'expr2','expr3')

FROM student;

 

#

case流程控制函数

两种

#

SELECT

    NAME,

    CASE id

WHEN THEN

    'is 1'

WHEN THEN

    'is 2'

ELSE

    '>2'

END AS `level`

FROM

    student;

 

case语法2更灵

when condition(返回boolean的表达式)

SELECT

    NAME,

    CASE # id

WHEN id <=THEN

    'small'

WHEN id <10 THEN

    'big'

ELSE

    'null'

END AS `level`

FROM

    student;

转载地址:http://cnczl.baihongyu.com/

你可能感兴趣的文章
rac问题思考总结
查看>>
Android 自定义View总结
查看>>
.NET平台开源项目速览(5)深入使用与扩展SharpConfig组件
查看>>
u-boot-1.3.4 移植到S3C2440
查看>>
HotSpot运行时概览#2
查看>>
Go结构体标签表达式v1.0发布,参数校验杀手锏
查看>>
对react中setState的总结
查看>>
[回炉计划]-实现一个图片预加载
查看>>
正则表达式
查看>>
360前端星计划学习-html
查看>>
专注dApp高效执行和高并发的下一代公有链
查看>>
ONE-sys 整合前后端脚手架 koa2 + pm2 + vue-cli3.0 + element
查看>>
携带更方便功能全 iPone与Apple Watch球形尿袋
查看>>
行为型模式:策略模式
查看>>
实现批量数据增强 | keras ImageDataGenerator使用
查看>>
太忙女友消息未及时回复,分手吗?python微信自动消息帮你谈恋爱
查看>>
Java 多线程NIO学习
查看>>
命名实体识别
查看>>
动态切换的动态代理
查看>>
电商项目(下)
查看>>