7. 数据库函数

        每个数据库都会在标准的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;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值