mysql中没有内置函数,mysql内置函数

1 字符串函数

查看字符串的ascii码: ascii(str) str为空时候返回0

select ascii("a");

查看ascii码对应的字符: char(num)

select char( num );

拼接字符串 concat(str1 , str2 ...)

select concat(12,34,"ab");

包含字符个数: length(str)

select length("abc");

截取字符串:

left(str,len) 截取str左端len个字符

right(str,len) 截取str右端len个字符

substring(str,pos,len) 截取str,从pos截取len个字符

select substring("abcd" , 2,3)

去除空格:

ltrim(str) 返回删除了str左侧空格的字符串

rtrim(str) 返回删除了str右侧空格的字符串

trim(方向 str_del from str) 返回按照方向在str中删除str_del后的字符串

方向: both 两侧、 leading 左、 trailing 右

select trim( trailing "x" from "xxaaaaxx")

返回n个空格的字符串: space(n)

select space(10) ;

替换字符串: replace( str , from , to ) 返回在str中的from替换成to后的字符串

select( "aavvcc" , "vv" , "bb" );

大小写转换: lower(str) upper(str)

select lower("ABcDE");

select upper("abcDef");

2 数字函数

求绝对值: abs(num)

select abs(-5);

求余数:mod(m,n) m%n

select mod(m,n);

select m % n;

向下取整数: floor(n)

select floor(4.9);

向上取整: ceiling(n)

select ceiling(2.1);

四舍五入: round(n , d) n表示数,d表示保留小数位数,默认为0

select round(1.6);

x的y次幂: pow(x,y)

select pow(5,3);

获取圆周率: PI()

select PI();

随机数 1到0的浮点数: rand()

select rand();

三角函数:参考文档。

3 日期和时间

获取整数值:

year(date) 返回date的年份数值

month(date) 返回date的月份数值

day(date) 返回date的日期数值

hour(time) 返回time的小时数值

minute(time) 返回time的分钟数

second(time) 返回time的秒数

select year("2008-7-15");

日期计算: date + interval num type;

select "2017-6-12" + interval 1 day;

-- 查询后一天

select "2017-6-12" + interval 1 month;

-- 查询后一个月

日期格式化: date_format(date,format)

%Y 完整年

%y 简写年

%m 月

%d 日

%H 时 24小时制

%h 时 12小时制

%i 分

%s 秒

select date_format( "2015-11-12","%Y %m %d" )

当前日期: current_date()

select current_date();

当前时间: current_time()

select current_time();

当前日期时间: now()

select now();

4 类型转换

cast和convert: cast(value as type)、 convert(value , type)

type的种类:

binary 二进制

char 字符型 可指定长度char(10)

date 日期

time 时期

datetime 日期时间

decimal( n , m ) 浮点数 一共m位 小数m位

signed 有符号整数

unsigned 无符号整数

select convert("123.78" , signed);

select cast("125.83" as signed );

5 流程控制:

case语法:

case 值 when 条件1 then 结果1 when 条件2 then 结果2 ...... when 条件n then 结果n else 结果

键=case when 条件1 then 结果1 when 条件2 then 结果2 ...... when 条件n then 结果n end 结果

select case 5 when 3 then "three" when 5 then "five" else "haha" end as result;

if语句: if(条件,结果1,结果2) 如果条件为真 则返回结果1 否则返回结果2

select if(1>2,3,4) as result;

ifnull语句: ifnull( 表达式1 , 表达式2 ) 如果表达式1为空 就返回表达式2,否则返回表达式1

select ifnull(gender , "无") as result;

nullif语句: nullif( 表达式1 , 表达式2 ) 如果表达式1和表达式2相等,则返回null 否则返回表达式1的结果

select nullif(1,0);

6 加密函数

md5加密方式占char(32)

sha1加密方式占char(40)

sha1加密方式: password( word )

selelct password( "abc" )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值