MYSQL数据库的基本操作四(mysql 常用函数一)

一,数学函数   

函数名函数表达式取值返回结果
绝对值abs(x)abs(-2.5),abs(17)2.5,17
圆周率PI()PI()    默认6位3.141593
平方根sqrt(x)

sqrt(16) ,sqrt(81)

sqrt(-81)

4,9

NULL

求余mod(x,y)

mod(31,8),

mod(45.5,6)

7

3.5

获取整数

ceil(x) 或ceiling(x)

floor(x)

ceil(-3.15) ,ceiling(3.68)

floor(-3.15),floor(3.68)

-3 ,4 (不小于x)

-4,3  ( 不大于x)

获取随机数

rand()

rand(x)

rand() != rand()

rand(10) =rand(10) != rand(11)

生成0~1之间的不同浮点数

 产生重复的序列

近似值函数

round(x) 

round(x,y)

truncate(x,y)

round(-1.35),round(3.84)

round(-1.35,1),round(3.84,1)

truncate(-1.35,1),truncate(3.84,1)

 round(-15.8,-1),truncate(-36.84,-1)

-1,4      只保留整数部分

-1.4 ,3.8   保留y 位小数

-1.3,3.8   直接截取y 位

-20 ,-30

符号函数sign(x)sign(-21),sign(0),sign(21)-1 ,0,1    返回参数符号
幂运算

pow(x,y)

power(x,y)

exp(x)

pow(2,3) ,pow(2,-2)

power(x,y)=pow(x,y)

exp(2) ,exp(-2)

8 ,0.25

e 为底的2次方, e^2 的倒数

对数运算函数

log(x)

log10(x)

log(3),log(-3)

log10(2),log10(100)

e  的对数,NULL(负数没有对数)

10 的对数,2

角度与弧度

radians(x)

degrees(x)

radians(90),radians(180)

degrees(PI()),degrees(PI()/2)

 Π/2,  Π  将角度转换为弧度

180,90  将弧度转换为角度

 正弦,反正弦

sin(x)   x为弧度值

asin(x)

sin(PI())

asin(0)

0     计算的正弦值

PI() 反正弦值 范围 -1~1,之外NULL

余弦,反余弦

cos(x)   x为弧度值

acos(x)

cos(0)

acos(1)

1   计算余弦值

0 反余弦值 范围-1~1NULL

正切 ,

反正切

余切

tan(x)  x为弧度值

atan(x)

cot(x)

tan(PI()/4)

atan(1)

cot(PI()/4)   与tan(PI()/4) 互为倒数

1  计算正切值

0.7853  计算反正切值

1  计算余切值 与

二,字符串函数

函数名函数表达式取值返回结果
字符串字符数char_length(str)

char_length('zh国')

char_length('stgd')

3,多字节字符算单字符

4

字符串长度length(str)

length('zh国')

length('stgd')

5   多字节字符按字节算,汉字3字节

4

合并字符串

concat(s1,s2...)

concat_ws(x,s1,s2...)

concat('mysql','5.7')

concat_ws(‘-’,‘mysql’,'5.7')

返回链接后的字符串,有NULL,返回NULL,有二进制字符串,返回二进制字符串

x  为链接分隔符,如分隔符为NULL,返回NULL,如分隔符后有NULL,NULL省略

指定替换字符串insert(s1,x,len,s2)

insert('quest',2,2,'what')

insert('quest',-1,2,'what')

insert('quest',2,6,'what')

insert('quest',2,null,'what')

'qwhatst'     用s2替换从x位置开始长度为len 字符

'quest'        x超出原字符串长度返回原字符

'qwhat'       len超出原字符串长度从x位置开  始取所有字符

null             参数任一有NULNULL

大小写转换

lower(str)  lcase(str)

upper(str)  ucase(str)

lower('LUCY')

upper('lucy')

'lucy'     将大写全部转换为小写

'LUCY'  将小写全部转换为大写

指定长度

left(s,n)

right(s,n)

left('football',5)

right('football',4)

footb   左边开始长度为5的字符串

ball   右边开始长度为4的字符串

填充字符串

lpad(s1,len,s2)

rpad(s1,len,s2)

lpad('hello',4,'?')

lpad('hello',7,'?')

rpad('hello',4,'?')

rpad('hello',7,'?')

hell  s1>len   只返回len长度的字符串

??hello s1<len  左边用s2 填充至len 长度

hell  s1>len   只返回len长度的字符串

hello??  s1<len  右边用s2 填充至len 长度

删除空格

ltrim(s)

rtrim(s)

trim(s)

ltrim('  hello  ')

rtrim('  hello  ')

trim('  hello  ')

'hello  '   删除左边空格,右边不删除

'  hello'   删除右边空格,左边不删除

'hello'     删除两边空格

删指定字符串trim(s1 from s)trim('xy' from 'xykollxyxy')koll  从s 中删除两边的s1字符串
重复生成repeat(s,n)repeat('my',3)'mymymy'  s 字符串重复n 次,s,n  任一为NULL,返回NULL,n<=0,返回空字符串
空格space(n)space(5)'     '  返回由5个空格组成的字符串
全部替换replace(s,s1,s2)replace('fagag','a','ww')'fwwgwwg'  返回s2 替代s 中的所有s1
比较字符串strcmp(s1,s2)

strcmp('tex','tex')

strcmp('tex1','tex')

strcmp('tex','tex1')

0   相同返回0

1   s1>s2 返回1

-1  s1<s2 返回-1

获取子串

substring(s,n,len)

mid(s,n,len)

substring('breakfast',5)

substring('breakfast',5,3)

substring('breakfast',-3)

substring('breakfast',-4,2)

'kfast' 从n位置取后边所有的字符串

‘kfa’ 从n位置取后边 长度为len 的字符串

‘ing’ 从右边n位置取后边 的字符串

‘fa’ 从右边n位置取后边 长度为len 的字符串

匹配子串开始位置

locate(str1,str)

position(str1 in str)

instr(str,str1)

locate('ball','football')

position('ball','football')

instr('ball','football')

5  str1  从str 的第几个位置开始

5  str1  从str 的第几个位置开始

5  str1  从str 的第几个位置开始

字符串逆序reverse(s)reverse('abc')'cba'  返回的字符串与s顺序相反
指定位置的字符串elt(n,str1,str2,...strn)elt(3,'a','b','c','d')'c' n=1 返回str1  n=strn 返回strn   n<1 或n>strn返回NULL
指定字符串位置field(s,s1,s2,...)

field('hi','fis','sg','hi','yr')

field('hi','fis','sg','hir','yr')

3 s在列表s1,s2,... 中出现的位置

0  s 在列表s1,s2,... 中不存在返回0

    s 为NULL 时返回0

返回子串位置find_in_set(s1,s2)find_in_set('hi','fis,sg,hi,yr')

3  作用同field(),

不同点:1,s2 为空字符串返回0

              2,任一参数为NULL返回NULL

              3,s1包含逗号将不能运行

三,时间日期函数及其它参考CSDN

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值