设为首页 收藏本站
查看: 895|回复: 0

[经验分享] mysql常用字符串函数

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-12 11:18:09 | 显示全部楼层 |阅读模式
关键字:mysql终端;字符串函数
  
参考网址: http://blog.sina.com.cn/s/blog_45b088420100bst4.html


  参考网址:http://dev.mysql.com/doc/refman/5.1/zh/functions.html#string-functions








MySql的字符串函数


 



ASCII(str)








返回字符串str

的最左面字符的ASCII代码值。如果str

是空字符串,返回0

。如果str

是NULL

,返回NULL



mysql> select ASCII('2');
           -> 50
mysql> select ASCII(2);
           -> 50
mysql> select ASCII('dx');
           -> 100




  也可参见ORD()函数。





ORD(str)







如果字符串str最左面字符是一个多字节字符,通过以格式((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...]

返回字符的ASCII代码值来返回多字节字符代码。如果最左面的字符不是一个多字节字符。返回与ASCII()

函数返回的相同值。


mysql> select ORD('2');
           -> 50






CONV(N,from_base,to_base)







在不同的数字基之间变换数字。返回数字N

的字符串数字,从from_base

基变换为to_base

基,如果任何参数是NULL

,返回NULL

。参数N

解释为一个整数,但是可以指定为一个整数或一个字符串。最小基是2

且最大的基是36

。如果to_base

是一个负数,N

被认为是一个有符号数,否则,N

被当作无符号数。 CONV

以64位点精度工作。


mysql> select CONV("a",16,2);
           -> '1010'
mysql> select CONV("6E",18,8);
           -> '172'
mysql> select CONV(-17,10,-18);
           -> '-H'
mysql> select CONV(10+"10"+'10'+0xa,10,10);
           -> '40'







BIN(N)







返回二进制值N

的一个字符串表示,在此N

是一个长整数(BIGINT

)数字,这等价于CONV(N,10,2)

。如果N

是NULL

,返回NULL



mysql> select BIN(12);
           -> '1100'






OCT(N)







返回八进制值N

的一个字符串的表示,在此N

是一个长整型数字,这等价于CONV(N,10,8)

。如果N

是NULL,返回NULL



mysql> select OCT(12);
           -> '14'






HEX(N)







返回十六进制值N

一个字符串的表示,在此N

是一个长整型(BIGINT

)数字,这等价于CONV(N,10,16)

。如果N

是NULL

,返回NULL



mysql> select HEX(255);
           -> 'FF'







CHAR(N,...)







CHAR()

将参数解释为整数并且返回由这些整数的ASCII代码字符组成的一个字符串。NULL

值被跳过。



mysql> select CHAR(77,121,83,81,'76');
           -> 'MySQL'
mysql> select CHAR(77,77.3,'77.3');
           -> 'MMM'






CONCAT(str1,str2,...)







返回来自于参数连结的字符串。如果任何参数是NULL

,返回NULL

。可以有超过2个的参数。一个数字参数被变换为等价的字符串形式。


mysql> select CONCAT('My', 'S', 'QL');
           -> 'MySQL'
mysql> select CONCAT('My', NULL, 'QL');
           -> NULL
mysql> select CONCAT(14.3);
           -> '14.3'






LENGTH(str)







 




OCTET_LENGTH(str)







 




CHAR_LENGTH(str)







 




CHARACTER_LENGTH(str)







返回字符串str

的长度。


mysql> select LENGTH('text');
           -> 4
mysql> select OCTET_LENGTH('text');
           -> 4




  注意,对于多字节字符,其CHAR_LENGTH()仅计算一次。





LOCATE(substr,str)







 



POSITION(substr IN str)







返回子串substr

在字符串str

第一个出现的位置,如果substr

不是在str

里面,返回0

.


mysql> select LOCATE('bar', 'foobarbar');
           -> 4
mysql> select LOCATE('xbar', 'foobar');
           -> 0




该函数是多字节可靠的。






LOCATE(substr,str,pos)







返回子串substr

在字符串str

第一个出现的位置,从位置pos

开始。如果substr

不是在str

里面,返回0



mysql> select LOCATE('bar', 'foobarbar',5);
           -> 7




  这函数是多字节可靠的。





INSTR(str,substr)







返回子串substr

在字符串str

中的第一个出现的位置。这与有2个参数形式的LOCATE()

相同,除了参数被颠倒。


mysql> select INSTR('foobarbar', 'bar');
           -> 4
mysql> select INSTR('xbar', 'foobar');
           -> 0




  这函数是多字节可靠的。





LPAD(str,len,padstr)







返回字符串str

,左面用字符串padstr

填补直到str

是len

个字符长。


mysql> select LPAD('hi',4,'??');
           -> '??hi'







RPAD(str,len,padstr)







返回字符串str

,右面用字符串padstr

填补直到str

是len

个字符长。    


mysql> select RPAD('hi',5,'?');
           -> 'hi???'






LEFT(str,len)







返回字符串str

的最左面len

个字符。


mysql> select LEFT('foobarbar', 5);
           -> 'fooba'




  该函数是多字节可靠的。





RIGHT(str,len)







返回字符串str

的最右面len

个字符。



mysql> select RIGHT('foobarbar', 4);
           -> 'rbar'




  该函数是多字节可靠的。





SUBSTRING(str,pos,len)







 



SUBSTRING(str FROM pos FOR len)







 



MID(str,pos,len)







从字符串str

返回一个len

个字符的子串,从位置pos

开始。使用FROM

的变种形式是ANSI SQL92语法。


mysql> select SUBSTRING('Quadratically',5,6);
           -> 'ratica'




  该函数是多字节可靠的。





SUBSTRING(str,pos)







 



SUBSTRING(str FROM pos)







从字符串str

的起始位置pos

返回一个子串。


mysql> select SUBSTRING('Quadratically',5);
           -> 'ratically'
mysql> select SUBSTRING('foobarbar' FROM 4);
           -> 'barbar'




  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-271220-1-1.html 上篇帖子: 绿色版mysql安装步骤- 下篇帖子: mysql字符串操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表