MAX()函数:
MAX()函数返回所选列的最大值;
SELECT MAX(column_name)
FROM table_name
WHERE condition;
SQL MIN()函数:
MIN()函数返回所选列的最小值;
SELECT MIN(column_name)
FROM table_name
WHERE condition;
COUNT()函数:
COUNT()函数返回符合指定条件的行数;NULL不计入;
SELECT COUNT(column_name)
FROM table_name
WHERE condition;
若要返回指定列的不同值的数目(适用于SQL Server和Oracle,不适用于 MS Access):
SELECT COUNT(DISTINCT column_name) FROM table_name;
AVG()函数:
AVG()函数返回数字列的平均值;
SELECT AVG(column_name)
FROM table_name
WHERE condition;
SUM()函数:
SUM()函数用于返回数字列的总和;
SELECT SUM(column_name)
FROM table_name
WHERE condition;
日期函数:(MySQL)
名称 | 描述 |
ADDDATE() | 增加日期 |
ADDTIME() | 增加时间 |
CONVERT_TZ() | 将当前时区更改为另一时区 |
CURDATE() | 返回当前日期 |
CURRENT_DATE() |
CURDATE()的别名 |
CURRENT_TIME() | CURTIME()的别名 |
CURRENT_TIMESTAMP | NOW()的别名 |
CURTIME() | 返回当前时间 |
DATE_ADD() | 将两个日期相加 |
DATE_FORMAT() | 按照指定格式格式化日期 |
DATE_SUB() | 将两个日期相减 |
DATE() | 从date或datetime中提取出日期部分 |
DATEDIFF() | 将两个日期相减 |
DAY() | DAYOFMONTH()的别名 |
DAYNAME() | 返回某天在星期中的名称 |
DAYOFMONTH() | 返回某天是当月的第几天 |
DAYOFWEEK() | 返回某天是该星期的第几天 |
DAYOFYEAR() | 一年中的第几天 |
EXTRACT() | 提取日期中的某一部分 |
FROM_DAYS() | 将天数转换为日期 |
FROM_UNIXTIME() | 将某个日期转化为UNIX时间戳 |
HOUR() | 提取小时 |
LAST_DAY() | 返回参数日期所在月份的最后一天 |
LOCALTIME() | NOW()的别名 |
LOCALTIMESTAMP() | NOW()的别名 |
MAKEDATE() | 利用年份和在改年中的天数来创建日期 |
MAKETIME() | 返回从小时分钟,秒计算出的时间值 |
MICROSECOND() | 由参数返回微秒 |
MINUTE() | 由参数返回分钟 |
MONTH() | 返回日期参数的月份 |
MONTHNAME() | 返回月份的名字 |
NOW() | 返回当前的日期和时间 |
PERIOD_ADD() | 向年月格式的日期数据中添加一段时间 |
PERIOD_DIFF() | 返回年月格式的日期数据之间的月份数 |
QUARTER() | 返回日期参数所在的季度 |
SEC_TO_TIME() | 将描述转换为“HH:SS:MM"格式 |
SECOND() | 返回参数中的秒数 |
STR_TO_DATE() | 以字符串转换为日期格式 |
SUBDATE() |
以三个参数调用时是DATE_SUB()同义词 |
SUBTIME() | 减去时间 |
SYSDATE() | 返回函数执行时的时刻 |
TIME_FORMAT() | 格式化时间 |
TIME_TO_SEC() | 将时间参数转换为秒数 |
TIME() | 反数参数表达式中的时间部分 |
TIMEDIFF() | 将两个时间相减 |
TIMESTAMP() | 只有一个参数时,返回date或datetime表达式。当由两个参数时,将两个参数相加 |
TIMESTAMPADD() | 在datetime表达式上加上一段时间 |
TIMESTAMPDIFF() | 在datetime表达式上减去一段时间 |
TO_DAYS() | 将日期转换为天数 |
UNIX_TIMESTAMP() | 返回UNIX时间戳 |
UTC_DATE() | 返回当前UTC日期 |
UTC_TIME() | 返回当前UTC时间 |
UTC_TIMESTAMP() | 返回当前UTC时间和日期 |
WEEK() | 返回参数的星期数 |
WEEKDAY() | 返回日期参数是一个星期中的第几天 |
WEEKOFYEAR() | 返回日期参数是一年的第几周 |
YEAR() | 返回日期参数中的年份 |
YEARWEEK() |
返回年份和星期 |
FIELD()函数:
FIELD()函数返回的索引(从1开始)的str在str1,str2,str3...列表中。如果没有找到,则返回0;
FIELD(str,str1,str2,str3...);
FIRST()函数:
返回指定的列中的第一个记录的值;
SELECT FIRST(column_name )FROM table_name;(只有MS Access支持FIRST函数)
SQL Server :
SELECT TOP 1 column_name
FROM table_name
ORDER BY column_name ASC;
MySQL:
SELECT column_name FROM table_name
ORDER BY column_name ASC
LIMIT 1;
Oracle:
SELECT column_name FROM table_name
ORDER BY column_name ASC
WHERE ROWNUM<=1;
LAST()函数:
LAST()函数返回指定列中的最后一个记录的值;
SELECT LAST(column_name) FROM table_name;(MS Access)
SQL Server:
SELECT top 1 FROM table_name
ORDER BY column_name DESC;
MySQL:
SELECT column_name FROM table_name
ORDER BY column_name DESC
LIMIT 1;
Oracle:
SELECT column_name FROM table_name
ORDER BY column_name DESC
WHERE ROWNUM<=1;
GROUP BY语句:
GROUP BY 语句常与集合函数(COUNT,MAX,MIN,SUM,AVG)一起使用,以按一个或多个列对结果集进行分组;
SELECT column_name
FROM table_name
WHERE condition
GROUP BY column_name
ORDER BY column_name;
LOWER(s)函数和LCASE(s)函数:
LOWER(s)函数和LCASE(s)函数将字符串中所有字母字符转换为小写;
SELECT LOWER/LCASE(str) FROM table_name; (只有SQL Server支持LOWER()函数)
UPPER(s)函数和UCASE(s)函数:
将字符串所有字母转换为大写;
SELECT UPPER/UCASE(str) FROM table_name;(只有SQL Server支持UPPER()函数)
MID()函数:
MID()函数用于从文本字段中提取字符;
SELECT MID(column_name,start[,length])FROM table_name;
参数 | 描述 |
column_name | 必需。要提取的字段 |
start | 必须。规定开始位置(起始值是1) |
length | 可选。要返回的字符数,若省略,则MID()返回剩余文本 |
LEN()函数:
LEN()函数返回文本字段中的值的长度;
SELECT LEN(column_name) FROM table_name;
ROUND()函数:
ROUND()函数用于把数字字段舍入为指定的小数位数;
SELECT ROUND(column_name,decimals) FROM table_name;
decimals表示要返回的小数位数;
NOW()函数:
NOW()函数返回当前系统的日期和时间;
SELECT NOW() FROM tabel_name;
FORMAT()函数:
FORMAT()函数用于对字段的显示进行格式化;
SELECT FORMAT(column_name,format)FROM table_name;
format表示规定的格式;
SQRT()函数:
SQRT()函数用于计算得出任何数值的平方根;
SQRT(num);
SQL以浮点数类型来进行平方根的计算;
RAND()函数:
RAND()函数产生一个0到1 的随机数;
可使用ORDER BY RAND()对一组记录进行随机化排列;
CONCAT()函数:
CONCAT()函数用于将两个字符串连接为一个字符串;
SELECT CONCAT(str1,str2);
SQL ISNULL()、NVL()、IFNULL()、COALESCE()函数:
如果某一列值为NULL,则函数将会返回0:(SQL Server/MS Access)
ISNULL(column_name,0);
Oracle:
NVL(column_name,0);
MySQL:
IFNULL/COALESCE(column_name,0);
REPLACE()函数:
替换字符;
replace(original-string,searching-string,replace-string);
用replace-string 替换字符表达式original-string中出现的所有searching-string的匹配项,返回新的值。若某个参数为NULL,则返回NULL;
TRIM()函数:
TRIM()函数是用来移除掉一个字符串中的字头或字尾。在不同数据库中有不同的名称:
MySQL:TRIM()、RTRIM()、LTRIM();
Oracle:RTRIM()、LTRIM();
SQL Server:RTRIM()、LTRIM();
TRIM([[位置] [要移除的字符串] FROM ]字串):[位置]的可能值为LEADING(起头),REAILING(结尾)或BOTH(起头和结尾)。这个函数将把[要移除的字串]从字串的起头、结尾,或是起头及结尾处结尾。如果未列出[要移除的字段],则空白就会被移除;
LTRIM(str):将所有字串的起头的空白移除;
RTRIM(str):将所有字串的结尾的空白移除;