总结:MYSQL和ORACLE中常用到的函数
Mysql和Oracle中的常用函数总结:
Mysql中常用函数总结
数学运算:
功能描述 | Mysql | 备注 |
---|---|---|
求绝对值 | ABS(x) | |
返回二进制数 | BIN(x) | oct(x):返回x的八进制;hex(x):返回x的十六进制 |
返回大于等于X的最小整数 | CEILING(x) | 也可以用CEIL(X) |
返回小于等于X的最大整数 | FLOOR(x) |
聚合函数:(结合group by从句的select查询中)
功能描述 | Mysql | 备注 |
---|---|---|
返回指定列的绝对值 | AVG(col) | |
返回指定列中非NULL的个数 | COUNT(col) | |
返回指定列中的最小值 | MIN(col) | |
返回指定列中得最大值 | MAX(col) | |
返回指定列中的所有值的和 | SUM(col) |
字符处理函数:()
功能描述 | Mysql | 备注 |
---|---|---|
返回指定字符的ASCII码值 | ASCII(char) | |
将指定的字符串拼接起来 | CONCAT(s1,s2…sn) | |
将指定字符串AAA中找到从下标m开始数n个字符的内容,然后把它替换为指定字符串BBB | INSERT(‘AAA’,m,n,‘BBB’) | |
返回指定字符串的长度 | LENGTH(str) | |
返回指定字符串最左边的指定个数的字符 | LEFT(‘str’,2) | 左边表达式返回str字符串最左边的2个字符 |
返回指定字符串最右边的指定个数的字符 | RIGHT(‘str’,2) | 左边表达式返回str字符串最右边的2个字符 |
返回指定字符串的小写形式 | LCASE(str)/LOWER(str) | |
返回指定字符串的大写形式 | UCASE(str)/UPPER(str) | |
替换字符串 | REPLACE(str,strchstr,replacestr) | 将字符串str中的strchstr内容替换成replacestr内容 |
颠倒字符串顺序后的结果 | REVERSE(str) | 将字符串str颠倒顺序后的结果 |
取掉字符串尾部的空格 | TRIM(str) | |
取掉字符串开头的空格 | LTRIM(str) |
时间日期函数
【获取当前日期】curdate() ;或者current_date() ;【获取当前时间】curtime();或者current_time() ;
【向指定日期添加指定的时间间隔】DATE_ADD(date,INTERVAL expr type)
date:参数是合法的日期表达式,expr:参数是打算要添加的时间间隔。type可以是HOUR、MONTH、YEAR……等参数,范例
【按照指定的日期格式,格式化日期】DATE_FORMAT(date,fmt);
加密函数:
decode(str,key)使用decode函数对字符串str根据关键字key进行加密
md5(‘str’) 使用md5函数对字符串str进行加密
控制流函数:
if(test,t,f)如果test表达式或者值是真,返回t的值,否则f的值。
ifnull(str1,str2)如果str1字段的值为null则表达式返回str2的结果,反之则返回str1的结果
nullif(arg1,arg2)如果arg1的值=arg2的值,那么返回null,反之返回arg1
case str
when val1 then result1
when val2 then result2
……
else default
end ;
说明:对str分情况讨论,如果str=val1那么返回result1,如果str=val2那么返回result2,……一次类推,否则返回default。
case
when test1 then result1
when test2 then result2
……
else default
end ;
说明:如果test1为true返回result1,如果test2为true返回result2,依次类推,否则返回default。
Oracle常用函数总结
Oracle中对于常规的字符处理函数和数字处理函数基本上是一致的。以下只是总结一些Oracle中存在,但是Mysql中不支持的。
TO_CHAR(DATE,FMT)【把日期和数字转换为指定格式的字符串。】
SELECT TO_CHAR(SYSDATE,'YYYY"年"MM"月"DD"日" HH24:MI:SS')"date" FROM dual;
解释:把当前日期转化为上述日期格式的字符串。
TO_DATE(STR,FMT)【把字符串转化为一个格式为FMT的日期类型】
TO_NUMBER(STR,FMT)【把字符串str转化为一个格式为FMT的数字类型】
NVL(str,value)【如果str为空,返回value,否则返回str】
NVL2(str,value1,value2)【如果str为空,返回value1,否则返回value2】
ORACLE中进行字符串拼接的时候,可以使用“||”符号直接连接,也可以使用CONCAT()函数。
【…………未完,遇到继续总结…………】