内置函数
使用select执行函数;内置函数在where子句中也可以使用;
一、日期函数
日期类型也是支持比较的;
mysql
current_date()#当前日期,格式为 xxx-yyy-zzz 年-月-日
current_time()#当前时间,格式为 xxx:yyy:zzz 时:分:秒
current_timestamp()#当前时间戳,格式为 xxx-yyy-zzz xxx:yyy:zzz 年-月-日 时:分:秒
now()#与当前时间戳函数实现的效果是一样的;
#根据时间戳返回日期;其中参数可以选择now();
date(datetime)
#根据时间戳返回时间;其中参数可以选择now();
time(datetime)
#在日期的基础上加时间
date_add(date,interval 数字 数值单位)
#在日期的基础上减时间
date_sub(date,interval 数字 数值单位)
#date可以是日期也可以是时间甚至是时间戳,intval的数值单位可以是year,month,day,hour,minute,second;
#计算两个日期相差的时间
datediff(date1,date2)
#单位是天;
二、字符串函数
mysql
charset(str)#返回字符串字符集;
concat(str1,str2)#进行字符串的拼接,包括数字也会转为字符串然后进行拼接;
instr(string,substring)#判断sub字符串是否在string字符串中,返回子串开始位置的下标;下标从1开始;
ucase(str)#将字符串转换成大写;
lcase(str)#将字符串转换成小写;
left(str,length)#从左边起将字符串中的length个字符提取出来;
right(str,length)#从右边起将字符串中的length个字符提取出来;
length(str)#返回字符串的长度,utf-8汉字大小是3个字节;
replace(str,search_str,replace_str)#在str中用replace_str替换search_str;
strcmp(str1,str2)#逐字符比较两字符串的大小;
substring(str,pos,length)#length可以缺省,表示直接截取到最后位置;
ltrim(str)#将字符串左面的空格进行裁剪;
rtrim(str)#将字符串右面的字符进行裁剪;
trim(str)#将字符串除了中间部分的空格进行裁剪;
三、数学函数
mysql
abs(num)#绝对值函数,可以是整数也可以是浮点数;
bin(decimal_num)#十进制转二进制函数,会转换成整数的二进制;
hex(decimal_num)#十进制转换成十六进制函数,会转换成整数的十六进制;
conv(num,from_base,to_base)#进制转换;例如:select conv(10,10,5);将一个数从十进制转换成5进制;
ceiling(num)#返回一个浮点数的上限值,即向上取整;
floor(num)#返回一个浮点数的下限值,即向下取整;
format(num,decimal_places)#格式化显示数字,如果是整数用零进行填充,浮点数则是采取四舍五入的方式进行;
mod(num)#对数字进行取余数;
rand()#返回随机的浮点数,范围是[0.0,1.0);
3.1取整方式
对于丢弃掉小数部分的取整方式叫做0向取整,如C语言中的9/4取商值的方式就是0向取整;还有向上取整和向下取整以及四舍五入的方式取整;
四、其它函数
mysql
user()#查看一下当前用户是谁;
database()#查看一下当前在哪一个数据库文件中;
md5(str)#对字符串进行数字摘要,最后得到一个长度为32的字符串;一般在插入密码时,不能直接插入数字,而是要经过md5算法进行数字摘要插入;
password(str)#对输入的密码进行加密,形成密文;
ifnull(val1,val2)#如果val1为null,返回val2,否则返回val1;由于null不参与计算,所以需要进行设计;