概念
- 概念:函数类似与java 中的方法,将一组逻辑语句的实现封装在函数之中,只对外提供函数名。(有java基础的理解应该很容易)
例子CONCAT ( )这是一个SQL 函数。 - 函数也是可以像java一样支持重载的。
- SQL索引是从1开始的,java是0。
- 函数参数可以为字符也可以为列,因为每一列都是字符,如果是数值类型,那么SQL会有一个隐式类型转换,将数值转为字符,也就是说函数参数就是放列名滴。
- UTF-8汉字字符占用三个字节
函数分类
函数分为:
1.单行函数
如:LENGTH( ),IFNUll( ),CONCAT( );
2.分组函数
分组函数又被称为统计函数 和 聚合函数
常见单行函数
字符类型
- LENGTH( ) 获得参数值字节的长度。(那么如果参数是汉字的话,UTF-8一个汉字字符占用三个字节)
- CONCAT(‘张’,‘全蛋’) 拼接字符 (显示为 张全蛋 )
还可以让两个列之间连接起来 - UPPER( ) 使参数变成大写
- LOWER( ) 使参数变成小写
- SUBSTR( ) 截取字符 (和java中的差不多)
- INSTR (‘1234567d’,‘d’) 返回子串第一次出现的索引,没有返回0
这里返回的8,因为内索引的是d,SQL索引开始为1. - TRIM (’ 张全蛋 ') 去掉前后空格
这里的空格会被去掉。 - LPAD(‘全蛋’,5,‘张’)左填充 (填充结束为 张张张全蛋。这里的5是总共的字符长度)
- RPAD( ‘全蛋’,6,‘张’) 右填充 (填充结束为 全蛋张张张张)
- REPLACE(‘我爱张全蛋’,‘张全蛋’,‘张典’) 替换数值内容(结果为我爱张典)
数学函数
- ROUND( ) 四舍五入
- CEIL( ) 向上取整,只要这个数不这个整数那么它会返回它最近的整数,1.000这种格式除外。
- FIOOR( )向下取整数
- TRUNCATE( ) 截断
日期函数
- NOW ( ) 返回当前日期时间。
- CURDATE( ) 返回日期
- CURTIME( ) 返回时间
- STR_TO_DATE()将制定的字符样式转为日期类型
- DATE_FOMAT()将日期转换为字符
其他函数
- VERSION( ) 查看当前MySql的版本号
- DATEBASE( ) 查看当前在那个数据库
- USER ( ) 查看当前数据库用户