MySQL第三天0318 函数:数学函数 与 字符串函数

  • 函数,即功能模块
    • 常用函数:数学函数、字符串函数、日期函数
  • 数学函数
    • 1、绝对值函数:ABS(x)
      • select abs(1), abs(-1)
    • 2、圆周率的函数:PI()
      • select pi()
    • 3、非负数的平方根函数:SQRT(x)
      • select sqrt(9)
    • 4、求余函数:MOD(x,y),x被y除后的余数, 简写%
      • select MOD(5,3), 5%3
    • 5、 CEIL(x):返回【大于x的最小】整数值;
      • select ceil(3.1),ceil(-3.1)
    • 6、 FLOOR(x):返回【小于x的最大】整数值。
      • select floor(3.1),floor(-3.1)
    • 7、四舍五入函数ROUND(x):只保留整数部分
      • 四舍五入ROUND(x,y):返回接近于x的值,
      • 保留小数点后面y位,若y为负数,就保留到小数点左边y位;
      • select round(3.1),round(3.6),round(-3.1),round(-3.6)
      • select round(123.1234,2), round(123.1234,1), round(123.1234,0), round(125.1234,-1)
    • 8、截取函数TRUNCATE(x,y):返回被舍弃的小数点后y位的数字x。
      • select truncate(123.1234,1), truncate(123.1234,0), truncate(125.1234,-1)
    • 9、获取随机数的函数RAND(),产生0-1之间的随机数
      • select rand()
  • 字符串函数
    • 1、CHAR_LENGTH(str):返回字符串str的所包含【字符个数】
      • select char_length('abc'),char_length('中国'),char_length('数据库')
    • 2、LENGTH(str):返回字符串的【字节长度】
      • gbk字符集,一个中文字符占2个字节
      • utf8字符集,一个中文字符占3个字节
      • select length('abc'),length('中国'),length('数据库')
    • 3、字符串连接CONCAT(s1,s2,…):返回所有参数连接的结果,如果有参数为null则返回null
      • 字符串连接CONCAT_WS(x,s1,s2,…):第一个参数x是其它参数的分隔符,返回使用第1个参与连接其余参数的字符串,【忽略null】
      • select concat('a','b','c','d','f'),concat('a','b',null,'c','d','f')
      • select concat_ws('a','b','c','d','f'),concat_ws('a','b',null,'c','d','f')
    • 4、插入字符串INSERT(s1,x,len,s2)
      • 返回字符串s1在位置x起始的子串且len个字符长的子串由字符串s2代替
      • select insert('abcdef',1,2,'AAA') -- AAAcdef,  abcdef-> ab cdef ->AAAcdef
      • select insert('abcdef',1,1,'AAA') -- AAAbcdef
      • select insert('abcdef',2,1,'AAA') -- aAAAcdef
    • 5、lower(str):str转小写, upper(str):str转大写
      • select lower('aBcD'),upper('aBcD')
    • 6、 LEFT(s,n)返回字符串s最左边n个字符
      • RIGHT(s,n)返回字符串s最右边n字符
      • select left('aBcD',2), right('aBcD',1)
    • 7、填充字符串函数:
      • LPAD(s1,len,s2)返回字符串s1,其左边由字符串s2【填充到】len字符长度
      • RPAD(s1,len,s2)返回字符串s1,其右边被字符串s2【填充到】len字符长度
      • select lpad('abcdef',10,'*'), rpad('abcdef',10,'*')
    • 8、ltrim()删除左空格,rtrim()删除右空格,
      • select length(' abc '), length(ltrim(' abc ')), length(rtrim(' abc ')), length(rtrim(ltrim(' abc ')))
      • ltrim(' abc ') = 'abc '
      • rtrim(ltrim(' abc ')) = rtrim('abc ') = 'abc'
      • TRIM(s1 FROM s),删除字符串s中两端所有的子字符串s1。
      • select length(trim(' ' from ' abc '))
      • select length(trim(' ' from ' ab c'))
      • select trim('a' from 'abccba')
    • 9、重复生成字符串函数:
      • REPEAT(s,n)返回一个由重复的字符串s组成的字符串,字符串s的数目等于n
      • select repeat('a',3)
    • 10、字符串替换函数REPLACE(s,s1,s2):将s字符串中的s1字符替换成s2。
      • select replace('abadefa','a','A')
    • 11、比较字符串大小函数STRCMP(s1,s2):
      • 若所有的字符串均相同,则返回0,
      • 若根据当前分类次序,第一个参数小于第二个,则返回-1,其它情况返回1。
      • select strcmp('abc','bcd'), strcmp('abc','aad'), strcmp('abc','abc')
    • 12、获取子串函数:SUBSTRING(s,n,len):从s的第n个元素开始取长度为len的子串
      • MID(s,n,len)其作用相同
      • select substring('abcdef',2,3)
    • 13、LOCATE(str1,str),str1字串,返回字串str1在str中的位置,0表示str不包含str1
      • select locate('bc','abcdef'),locate('xbc','abcdef')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值