ITPub博客

首页 > IT职业 > IT职场 > 【MySQL】字符串函数

【MySQL】字符串函数

IT职场 作者:nanquanc 时间:2021-09-09 09:29:02 0 删除 编辑

前言

  虽然每种数据库软件都支持SQL语句,但是每种数据库却拥有各自所支持的函数。如果想使用数据库软件,除了需要会使用SQL语句外,还需要掌握函数。MySQL中字符串函数主要用来处理字符串。

概览

函数 作用
CONCAT(str1,str2….,strn) 连接字符串str1、str2、……、strn为一个完整字符串
INSERT(str,x,y,instr) 将字符串从第x位置开始,y个字符常的子串替换为字符串instr
LOWER(str) 将字符串str中所有字符变为小写
UPPER(str) 将字符串str中所有字符变为大写
LEFT(str,x) 返回字符串str中最左边的x个字符
RIGHT(str,x) 返回字符串str中最右边的x个字符
LPAD(str,n,pad) 使用字符串pad对字符串str最左边进行填充,直到长度为n个字符长度
RPAD(str,n,pad) 使用字符串pad对字符串str最右边进行填充,直到长度为n个字符长度
LTRIM(str) 去掉字符串str左边的空格
RTRIM(str) 去掉字符串str右边的空格
REPEAT(str,x) 返回字符串str重复x次的结果
REPLACE(str,a,b) 使用字符串b替换字符串str中所有出现的字符串a
STRCMP(str1,str2) 比较字符串str1和str2
TRIM(str) 去掉字符串str行头和行尾的空格
SUBSTRING(str,x,y) 返回字符串str中从x位置起y个字符长度的字符串

示例

//repeat(str,x)mysql> select repeat('jf',3);
+----------------+| repeat('jf',3) |
+----------------+| jfjfjf         |
+----------------+//strcmp('str1','str2') //如果str1和str2相同,返回0。//如果str1第一个字符和str2的第一个字符不同,结束比较,str1的第一个字符ASCII码值大,返回1,否则返回-1。//如果第一个字符相同,第二个字符不同,结束比较,str1的第二个字符ASCII码值大,返回1,否则返回-1。//.......//str1和str2相同,返回0mysql> select strcmp('jf','jf');
+-------------------+| strcmp('jf','jf') |
+-------------------+|                 0 |
+-------------------+//str1大于str2,返回1mysql> select strcmp('jj','jf');
+---------------------+| strcmp('jjf','jf') |
+---------------------+|                   1 |
+---------------------+//str2大于str1,返回-1mysql> select strcmp('jf','jj');
+--------------------+| strcmp('jf','jjf') |
+--------------------+|                 -1 |
+--------------------+

总结

  我们知道,具有可移植性的代码是好代码。在数据库软件中,多数SQL语句是可移植的,而使用了函数的SQL可移植性会降低。主要是由于各种数据库软件都支持自己所特有的函数。因此许多SQL用户不认同使用数据库软件特有的函数。

原文出处

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1556/viewspace-2803477/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-15

  • 博文量
    109
  • 访问量
    856