函数

mysql中的函数

数学函数

  • abs(x) 绝对值
  • pi() π
  • sqrt(x) 平方根
  • mod(x,y) 取模
  • ceil(x) 向上取整
  • floor(x) 向上取整
  • rand() 取0到1之间的随机数
  • round(x) 四舍五入
  • round(x,y) 保留y位小数的四舍五入
  • truncate(x,y) 保留y位小数
  • sign(x) 返回符号
  • pow(x,y) x的y次方
  • exp(x) e的x 次方
  • log(x) 对数
  • log10(x) 10的对数
  • radians(x) 角度转弧度
  • degrees(x) 弧度转角度
  • sin(x) 正弦 asin(x) 反正弦
  • cos(x) 余弦 acos(x) 反余弦
  • tan(x) 正切 atan(x) 反正切
  • cot(x) 余切

字符串函数

  • char_length(str) 字符个数
  • length(str) 字节个数,utf-8一个汉字三个字节
  • concat(s1,s2...) 拼接
  • concat_ws(x,s1,s2,s3...) 用x进行连接,javascript的[].join(x)
  • insert(str,pos,len,newstr) javascript的[].splice(pos,len,new)
  • lower(s) lcase(s) 转小写
  • upper(s) ucase(s) 转大写
  • left(s,len) 从左截取len slice(0,len)
  • right(s,len) 从右边截取len slice(-len)
  • lpad(s1,len,s2) 用s2重复填充s1到制定长度(左侧)
  • rpad(s1,len,s2) 用s2重复填充s1到制定长度(右侧)
  • ltrim(s) rtrim(s) trim(s) 去空白字符
  • trim(s1 from str) 从str中删除两端的s1
  • repeat(str,n) 重复n次str
  • space(n) n个空格
  • strcmp(s1,s2) 比大小
  • replace(str,s1,s2) 用s2替换s1
  • location(s1,str) 获取子串下标str.indexOf(s1)
  • position(s1 in str) 获取子串下标,同上
  • instr(str,s1) 获取子串下标,同上
  • reverse(s) 反转字符串
  • elt(n,s1,s2,s3...) 从后面的数组中取[s1,s2,s3...][n-1]
  • field(s,s1,s2,s3...) 返回s的下标
  • find_in_set(s,set) 返回s在set中的下标,s中不能有逗号
  • make_set(bits,s1,s2,s3...) 通过比特位获取一个set
    下标一般是从1开始的,而不是0,没有找到的情况下才是0

日期函数

  • current_date curdate 当前日期,仅年月日
  • current_time curtime 当前时间,仅时分秒
  • current_timestamp localtime now sysdate 返回系统当前时间
  • unix_timestamp (date) 无参数,返回当前时间戳,有参数,转时间戳
  • from_unixtime(date) 时间戳转时间
  • utc_date() 返回UTC日期
  • utc_time() 返回UTC时间
  • month(date) 返回月份(数字)
  • monthname(date) 返回月份(英文单词)
  • dayname(date) 星期(英文单词)
  • dayofweek(date) 星期(1-7) 1是周天
  • weekday(date) 星期(0-6) 0是周一
  • week(date,mode) 一年的第几周,mode用来区分每周的第一天是星期天还是星期一,返回的范围是0-53还是1-53
  • weekofyear(date) 等同于week(date,3) 1-53
  • dayofyear(date) 1-366
  • dayofmonth(date) 1-31
  • year(date) 获取年份 1970-2069
  • quarter(date) 季度 1-4
  • minute(time) 分钟 0-59
  • second(time) 秒 0-59

转换与计算

  • timetosecond(time) 时间转秒
  • extract(type from date/time) 上面一堆函数的通用版,可以用来返回年,月,日,时,分,秒或其他组合
  • sec_to_time(sec) 秒转时间
  • date_add(date,expr type) adddate(date,expr type) 日期加法运算
  • date_sub(date,expr type) subdate(date,expr type) 日期减法
  • addtime(time,expr) 时间计算
  • subtime(time,expr) 时间减法
  • datediff(date1,date2) 计算时间差date1-date2

格式化时间

控制流函数

  • if (expr,v1,v2) 三目运算 expr?v1:v2
  • case
case 
    when expr1 then v1 
    when expr2 then v2 
    when expr3 then v3 
    when expr4 then v4 
end;
  • ifnull(v1,v2)

系统信息函数

  • version() mysql版本号
  • connection_id() 当前用户的连接id
  • processlist show processlist 正在运行的线程
  • datebase() schema() 显示当前的数据库
  • user() 当前登录的用户名
  • charset() 返回字符集
  • collations(str) 字符串排序方式
  • last_insert_id() 一次插入多条数据时,返回的是最后一次插入的第一条的id

加密函数

  • password(str) 不应用在个人应用中,单向加密
  • md5(str) 可逆,公开算法
  • encode(str,pswd_str) 加密后长度跟原始长度一直
  • decode(str,pswd_str) 解密

其他函数

  • format(x,n) 格式化小数位
  • conv(n,from_base,to_base) 数字进制转换
  • inet_aton(expr) ip地址转整数
  • inet_ntoa(expr) 整数转ip
  • get_lock(str,timeout) 创建锁 成功1 超时0 错误返回null
  • release_lock(str) 释放锁
  • is_used_lock(str) is_free_lock(str)检查锁,返回创建锁的connection_id 否则null
  • benchmark(count,expr) 多次执行表达式,并返回运算时间
  • convert() 改变字符串默认字符集
  • cast(x,as type) convert(x,type) 转换数据类型
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 151,511评论 1 330
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 64,495评论 1 273
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 101,595评论 0 225
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 42,558评论 0 190
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 50,715评论 3 270
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 39,672评论 1 192
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,112评论 2 291
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,837评论 0 181
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,417评论 0 228
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,928评论 2 232
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,316评论 1 242
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,773评论 2 234
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,253评论 3 220
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,827评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,440评论 0 180
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 34,523评论 2 249
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 34,583评论 2 249

推荐阅读更多精彩内容

  • [TOC] 日期函数 MySQL对时间的格式无具体要求,只要格式是 YYYY-MM-DD HH:MM:SS 其中:...
    阿怪_9653阅读 370评论 0 0
  • MySQL函数概述 函数分类-单行函数语法:函数名【(参数1,参数2,...)】函数名(列名)其中的参数可以是一下...
    狼人_4e19阅读 553评论 0 0
  • 前言 今天介绍一些MySQL常用的实用命令,都是一些比较简单的命令。已经知道的朋友,就当是巩固吧,不知道的童鞋,可...
    jackcooper阅读 835评论 0 1
  • 可爱的小猪琳琳阅读 178评论 0 2
  • 概述 用函数F来表示模糊承诺,函数F输入c、x,输出h(c)、x-c: 解模糊承诺即恢复c,已知h(c)、x-c即...
    Gracieeee阅读 1,865评论 0 0