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

[经验分享] mysql常见string相关函数

[复制链接]

尚未签到

发表于 2016-9-11 09:19:49 | 显示全部楼层 |阅读模式
  
  ASCII (str)
  参数为string,返回最左侧字节的ascii码。String值为0返回0,为NULL返回NULL
  mysql> SELECT ASCII('0');
  -> 48
  mysql> SELECT ASCII(0);
  -> 48
  mysql> SELECT ASCII('d');
  -> 100
  BIN (N)
  参数为bigint,返回二进制编码,参数为NULL返回NULL
  mysql> SELECT BIN(5);
  -> '101'
  CHAR(N,... [USING charset_name] )
  参数为一串ascii码,返回string,
  Example:
  mysql> SELECTCHAR(77,121,83,81,'76');
  -> 'MySQL'
  mysql> SELECTCHAR(66,66.3,'66.3');
  -> 'BBB'
  CHAR_LENGTH(str) and CHARACTER_LENGTH(str)
  返回字串长度.
  
  BIT_LENGTH (str)
  参数为string,返回其位长度:
  mysql> SELECTBIT_LENGTH('a');
  -> 8
  CONCAT(str1, str2..)
  连接字符串,如果参数中有NULL,则结果返回NULL.
  Example:
  mysql> SELECT CONCAT('In','d', 'ia');
  -> 'India'
  mysql> SELECT CONCAT('my',NULL, 'ql');
  -> NULL
  mysql> SELECT CONCAT(10.3);
  -> '10.3'
  
  CONCAT_WS(separator str1, str2,....)
  连接字串,第一个参数为连接符
  Example:
  mysql> SELECTCONCAT_WS(',', ' Title', 'First name', 'Last Name');
  -> 'Title, First name, LastName'
  mysql> SELECTCONCAT_WS(',', 'First name', NULL, 'Last Name');
  -> 'First name, Last Name'
  
  CONV (N, from_base, to_base)
  conv函数用于数字的进制转换, N是要转换的数据,from_base是原进制,to_base是目标进制
  Example:
  mysql> SELECT CONV('a',10,2);
  -> '0'
  mysql> SELECTCONV('6E',10,5);
  -> '11'
  mysql> SELECTCONV(-17,9,-25);
  -> '-G'
  mysql> SELECTCONV(10+'10'+'10'+0xa,10,5);
  -> '130'
  hex(N)相当于conv(N,10,16)
  oct(N)相当于conv(N,10,8)
  bin(N)相当于conv(N,10,2)
  ELT(N,str1,str2,str3,...)
  如果N= 1,返回str1,如果N= 2,返回str2,等等。如果N小于1或大于参数个数,返回NULL
  Example:
  mysql> SELECT ELT(1, '9','10', '11', '12');
  -> '9'
  mysql> SELECT ELT(4, '9','10', '11', '12');
  -> '12'
  
  FIELD(str,str1,str2,str3,...)
  返回值为str1, str2, str3,……列表中的str 次序数。在找不到str 的情况下,返回值为 0 。.
  Example:
  mysql> SELECT FIELD ('AA','BB', 'AA', 'CC');
  -> 2
  mysql> SELECT FIELD ('AA','BB', 'CC', 'DD');
  -> 0
  
  FIND_IN_SET(str,strlist)
  若字符串str 在由N 子链组成的字符串列表strlist中,则返回值的范围在1到N之间。否则为0。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。
  Example:
  mysql> SELECT FIND_IN_SET('2','1,2,3,4');
  -> 2
  FORMAT(X,D)
  控制浮点数X小数点后位数 :
  Example:
  mysql> SELECTFORMAT(1235.14687, 3);
  -> 1,235.147
  mysql> SELECTFORMAT(145678.1,2);
  -> 145,678.10
  mysql> SELECTFORMAT(24567.1,0);
  -> 24567
  
  HEX(N_or_S)
  返回16进制数据
  Example:
  mysql> SELECT HEX(10);
  -> 'A'
  mysql> SELECT HEX( 'abd');
  -> 616264
  INSERT(str,pos,len,newstr)
  在str中从pos位置开始用newstr替换长度为len的字串
  Example:
  mysql> SELECTINSERT('roseindia',2,3,'net');
  -> rnetindia
  mysql> SELECTINSERT('roseindia',-1,3,'net');
  -> roseindia
  mysql> SELECTINSERT('roseindia',3,100,'net');
  ->ronet
  
  INSTR(str,substr)
  返回子串substr在字符串str中的第一个出现的位置
  Example:
  mysql> SELECTINSTR('roseindia','e');
  -> '4'
  mysql> SELECT INSTR('xe','roseindia');
  -> '0'
  LOWER(str) / LCASE(str)
  返回小写字串
  mysql> SELECTLOWER('ROSEINDIA');
  ->'roseindia'
  
  LEFT(str,len)
  取字串左端长为len的子串.
  Example:
  mysql> SELECTLEFT('roseindia', 4);
  -> 'rose'
  LENGTH(str)
  返回字符串长度
  Example:
  mysql> SELECTLENGTH("roseindia");
  ->'9'
  LOAD_FILE(file_name)
  读取文件信息,将其内容作为字符串返回
  mysql> SELECTLOAD_FILE('C:/MySQL/MySQL Server 5.0/data');
  LOCATE(substr,str),LOCATE(substr,str,pos)
  返回子串 substr 在字符串 str 中第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 0。Pos是可选参数,表示从哪个位置开始搜索。
  Example:
  mysql> SELECTLOCATE('in','roseindia');
  -> 5
  mysql> SELECT LOCATE('xin','roseindia');
  -> 0
  mysql> SELECTLOCATE('d','roseindia',4);
  -> 7
  
  
  lpad(string,n,[pad_string] )
  string:可是字符或者参数
  n:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;
  pad_string:是个可选参数,这个字符串是要粘贴到string的左边,如果这个参数未写,lpad函数将会在string的左边粘贴空格。
  Example:
  mysql> SELECTLPAD('hello',7,'??');
  ->??hello
  mysql> SELECTLPAD('hello',1,'??');
  -> h
  LTRIM(str)
  去str左侧空格
  Example:
  mysql> SELECT LTRIM(' roseindia');
  -> 'roseindia'
  
  MID(str,pos,len)
  与SUBSTRING(str,pos,len)相同
  
  OCT(N)
  返回八进制数据
  Example:
  mysql> SELECT OCT(12);
  -> '14'
  
  POSITION(substr IN str)
  The POSITION(substr IN str) function issame as LOCATE (substr, str).
  
  REPEAT (str, count)
  将str重复count次.
  mysql> SELECTREPEAT('Rose', 3);
  ->'RoseRoseRose'
  REPLACE (str, from_str, to_str)
  替换字串,str为源字串,from_str为将要被替换的字串, to_str为目的字串
  mysql> SELECT REPLACE('www.roseindia.net', 'w', 'W');
  ->'WWW.roseindia.net';
  REVERSE(str)
  反序
  Example:
  mysql> SELECTREVERSE('123');
  -> '321'
  RIGHT(str, len)
  取字串右端长为len的子串.
  Example :
  mysql> SELECT RIGHT('Roseindia', 5);
  ->'india'
  RPAD(str, len, padstr)
  rpad(string,n,[pad_string])
  string:可是字符或者参数
  n:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;
  pad_string:是个可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,lpad函数将会在string的右边粘贴空格。
  Example :
  mysql> SELECT RPAD ('rose',7, '?');
  ->'rose???'
  
  RTRIM(str)
  去掉str右侧空格
  Example :
  mysql> SELECT RTRIM('rose ');
  ->'rose'
  
  SPACE(N)
  返回长度为N的空格字串
  Example :
  mysql> SELECT SPACE(5);
  -> ' '
  
  SUBSTRING(str,pos), SUBSTRING(str FROMpos), SUBSTRING(str,pos,len), SUBSTRING(str FROM pos FOR len)
  字符串截取函数,str为源字串,pos为开始截取的位置,len可选,为截取字符串长度.
  Example :
  mysql> SELECTSUBSTRING('RoseIndia',5);
  -> 'India'
  mysql> SELECTSUBSTRING('RoseIndia' FROM 5);
  -> 'India'
  mysql> SELECTSUBSTRING('RoseIndia',5,3);
  -> 'Ind'
  
  UPPER(str)
  返回大写字串.
  Example :
  mysql> SELECTUPPER('roseindia');
  ->'ROSEINDIA'
  

运维网声明 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.yunweiku.com/thread-270612-1-1.html 上篇帖子: mysql指令集【转载】 下篇帖子: MySQL 数据库简单操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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