越简单越好!

MySQL所有SQL函数

发表于 2009-11-24 13:19 | 1329次阅读 0次点赞   Mysql

ABS(X)
回传X的绝对值

ACOS(X)
回传X 的arc cosine值,如果X不是介于-1与1之间,则回传NULL

ADDDATE(date,INTERVAL interval expression)
回传「时间」加上某个「区间」的结果。如果所给的时间不是合法格式,则回传NULL值。这个函式跟DATE_ADD()功能一样。可能的区间为:YEAR、DAY、HOUR、MINUTE、SECOND

ASIN(X)
回传X的arc sine值。如果X不是介于-1与1之间,则回传NULL

ASCII(X)
回传指定字符串的第一个字母的ASCII值

ATAN(X)
回传X的arc tangent值

ATAN2(X,Y)
依照所给的「象限」回传X的arc tangent值

AVG(expression)
回传平均值,但所给的值不可为NULL


BENCHMARK(count,expression)
以指定的次数(count)执行expression,回传的值永远为0,这个函式可以让你测量server在执行查询指令的效能

BIN(X)
回传X的二进制值,其中X是BIGINT。回传的数据型态为字符串


 
CHILING(X)
回传最接近X且小于X的值,回传的值会被转成BIGINT形式

CHAR(X,Y,Z,……)
将指定的数值转成ASCII字符串,NULL值会被忽略不处理
CHARACTER_LENGTH与CHAR_LENGTH
详见LENGTH()函式

COALESCE(expression1,expression2)
回传所有expression中第一个非NULL的值

CONCAT(X,Y,Z…….)
将指定的字符串做合并动作,如果给指定的参数为NULL,则会直接将NULL去掉

CONV(X, from base, to base)
将X以某个基底转成另一个基底,回传的值为字符串形式

COS(X)
回传X的cosine值,X是弧度值

COT(X)
回传X的cotangent值

COUNT(X)
回传resultset中非NULL的值,如果使用万用字符,就会回传resultset的个数

CURDATE()与CURRENT_DATE()
回传现在的系统日期

CURTIME()与CURRENT_TIME()
回传现在的系统时间

CURRENT_TIMESTAMP()
回传目前的日期与时间。


DATABASE()
回传现在这个数据库的名称

DATE_ADD()
参考ADDDATE()函式

DATE_ADD(date,INTERVAL value Type)与ADD_DATE(date,INTERVAL value Type)
把某个值加到指定的日期。

DATE_FORMAT(date, format_symbol)
把日期转成format_symbol所指定的格式

DATE_SUB(date,INTERVAL value Type)and SUBDATE (date,INTERVAL value Type)
把指定的日期减去某个值

DAYNAME(date)
回传指定日期的星期数

DAYOFMONTH(date)
回传指定的日期是该月的第几天

DAYOFWEEK(date)
回传指定的日期是星期中的第几天

DAYOFYEAR(date)
回传指定的日期是一年中第几天

DECODE(binary_string,encrypt_string)
回传将二进制制字符串译码之后的结果

DEGREES(X)
回传X的角度值,X是弧度值


ELT(x,a,b,c,…..)
回传a,b,c….中第x个的字符串

ENCODE(word,encypt_string)
回传加密的二进制制字符串(利用指定的encrypt_string)

ENCRYPT(word[,seed])
回传加密字符串

EXP(X)
以自然对数值为基底,回传它的X次方

EXTRACT(value FROM date)
回传指定日期的值


FIELD(x,y,z,….)
回传x字符串与其它指定的字符串是在第几个位置相符

FIND_IN_SET(x,stringlist)
找出x与字符串列表中的哪一个字符串相符

FLOOR(x)
回传最接近x且小于x的数值,这个回传的数值会被转成BIGINT形式

FORMAT(NUM,DEC)
将指定的NUM以DEC的小数点位数,转成「x,xxx,xxx.x」的形式,如果DEC为0,,六不会转换小数点

FROM_DAYS(days)
指定一个数字,这个函式会将它转成日期形式

FROM_UNIXTIME(unix_time[,format_symbols])
指定一个unix_time数值,这个函式会将它转成日期


GREATEST(x,y,…)
找出指定数值中的最大值


HEX(x)
回传x的16进制值

HOUR(time)
回传指定时间中的小时数


IF(expression1,expression2,expression3)
如果expression1为真,回传expression2:如果不为真,则回传expression3

IFNULL(expression1,expression2)
如果expression1是NULL,则回传expression2:如果expression1不是NULL,则回传expression1
ISNULL(expression)
如果expression是NULL则回传1:若不是NULL,则回传0

INSERT(x,y,z,i)
将j加入x字符串中,从x的第y个字开始加,增加z个长度

INSTR(x,y)
回传y是在x中的第几个字,用法与LOCATE(x,y)与POSITION(x,y)相反


LAST_INSERT_ID()
回传最近被加入AUTO_INCREMENT字段的序列号码,这个数字是依照联机来决定,所以如果两个联机同时针对同一个数据表做新增的动作(不同的字段),第一个连进来的联机的last number就是它新增的数据,而第二个联机的 number就是它新增的number

LCASE(x)
把字符串转成小写字母

LEAST(x,y,z,….)
回传指定数值中最小的数值

LEFT(x,y)
将x字符串从左边算来取y个字

LENGTH(x)
回传x字符串的长度

LOAD_FILE(filename)
开启指定的档案,并用字符串的现式回传档案的内容。这个档案必须是在server端,而且使用者必须具有FILE权限才行

LOCATE(x,y,z)
从第z个字开始算,回传y字符串中x字符串的位置。如果找不到,则回传0

LOG(x)
回传x的log值

LOG10(x)
回传以10为基底的log值

LOWER(x)
将x字符串转为小写字母

LPAD(x,y,z)
从x字符串的左边一直加入z指定的字符串,一直加到整个字符串符合y指定的个数为止

LTRIM(x)
去掉x字符串左边的空白


MAX(expression)
取出expression的最大值

MID(x,y,z)
从y位置开始,在x字符串中取出z个字符串

MIN(expression)
取出expression的最小值

MINUTE(time)
回传指定时间中的分钟

MOD(x,y)
这个函式会回传x除以y的余数

MONTH(date)
回传指定日期中的月份是一年中的第几个月

MONTHNAME(date)
回传指定日期中的月份名称


NOW()
回传现在的日期与时间


OCT(x)
回传x的八进制值
OCTET_LENGTH()
参考LENGTH()函式


PASSWORD(password)
回传指定的password的加密字符串

PERIOD_ADD(x,y)
把y个月加到x区间里面

PERIOD_DIFF(x,y)
计算x跟y之间间隔多少个月

PI()
回传PI的值

POSITION(x,y)
回传x是在y中的第几个字

POW(x,y)与POWER(x,y)
回传x的y次方


QUARTER(date)
回传指定的日期是第几季


RADIANS(x)
把x角度换成弧度值

RAND()与RAND(seed)
回传介于0与1之间的随机数,如果有指定seed,就用它来产生随机数号码。如果使用相同的seed,就会产生相同的随机数号码

REPEAT(x,y)
将x字符串重复y次,如果y小于0,就什么不都不会输出

REPLACE(x,y,z)
将x字符串中的y字符串以z字符串来代替

REVERSE(x)
将x字符串以相反的顺序显示

RIGHT(string,length)
将string字符串的最右边的length个数的字符串显示出来。如果string为NULL则回传NULL

ROUND(x)
回传最接近x(而不超过x)的数值

ROUND(x,y)
将x取到小数点后第y位

RPAD(x,y,z)
从x字符串的右边一直加入z指定的字符串,一直加到整个字符串符合y指定的个数为止

RTRIM(x)
去除x右边的空格符


SECOND(time)
回传指定时间中的秒

SEC_TO_TIME(seconds)
将指定的时间转成「hh:mm:ss」格式

SESSION_USER()
回传目前这个连结的使用者

SIGN(x)
回传x的sign值。如果x是负数,回传-1;如果x是0,回传0:如果x是正数,回传1

SIN(x)
回传x的sine值

SOUNDEX(x)
回传x的SOUNDEX字符串

SPACE(x)
回传x个空格符

SQRT(x)
回传根号x

STRCMP(string1,string2)
比较string1与string2是否相等。如果相等,回传1;如果不相等,则回传0;如果其中一个字符串是NULL时,就回传NULL

STD(expression)或STDDEV(expression)
计算expression的标准误差值

SUM(expression)
回传expression的总和。NULL值不能拿来计算

SUBSTRING_INDEX(x,y,z)
回传x中的某一段字符串。如果z是正,回传最后那个分隔字符左边的字符串;如果是负数,回传右边的字符串

SUBDATE()
参考DATE_SUB函式

SYSDATE()
回传目前的日期与时间

SYSTEM_USER()
回传目前这个联机的使用者


TAN(x)
回传x的tangent值,x是狐度值

TIME_FORMAT(time,format_symbol)
将指定的时间以format_symbol的方式显示。

TIME_TO_SEC(time)
将指定的时目转换成秒

TO_DAYS(date)
计算指定的date距离公元0年一共有几天

TRIM([[BOTH or LEADING or TRAILING][x]FROM]y))
截去字符。可以截去头尾符点的字(用BOTH),也可以截去开头(LEADING)或结尾(TRAILING)符合的字

TRUNCATE(x,y)
将x数值的小数点后第y位之后的数字去除。如果y是0,就会回传没有小数点的数字


UCASE(x)
将指字的字符串转成大写字符串

UNIX_TIMESTAMP([date])
如果没有指定date,回传UNIX的timestamp。如果有指定date,则将该日期转成UNIX timestamp的格式

UPPER(x)
将字符串转成大写

USER()
回传目前联机的使用者


VERSION()
回传目前server的版本(以字符串的形式回传)


WEEK (date[,start])
回传指定的date日期的该年星期数。如果指定了start选项,则是从星期的哪一天开始算。如果是0,则从星期天(Sunday)开始算,如果是1,则是从星期一(Monday)开始算

WEEKDAY(date)
回传指定的日期是一星期中的第几天

YEAR(date)
回传指定日期的年份

返回顶部 ^