首页 > 数据库 >MySQL常用字符串函数

MySQL常用字符串函数

时间:2023-07-05 14:45:24浏览次数:74  
标签:返回 子串 函数 character length MySQL 字符串 expression

一、常用函数

1.1 ASCII(str)

返回值为字符串str的最左字符的数值,即取得最左字符的ascii码。假如str为空字符串,则返回值为 0 。假如str 为null,则返回值为 null。

mysql> select ascii('a');
+--------------+
| ascii('a') |
+--------------+
| 97 |
+--------------+
1 row in set (0.00 sec)

1.2 CHAR()

将ASCII码转换为字符。如果没有输入0~255之间的ASCII码值,CHAR()返回NULL。

1.3 LOWER()和UPPER()

LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。

1.4 STR()

把数值型数据转换为字符型数据。

STR(<float_expression>[length]]])length指定返回的字符串的长度,decimal指定返回的小数位数。如果没有指定长度,缺省的length值为10,decimal缺省值为0。当length或者decimal为负值时,返回NULL;当length小于小数点左边(包括符号位)的位数时,返回length个*;先服从length,再取decimal;当返回的字符串位数小于length,左边补足空格。

二、去空格函数

2.1 LTRIM()

把字符串头部的空格去掉。

2.2 RTRIM()

把字符串尾部的空格去掉。

三、取子串函数

3.1 left()

LEFT(<character_expression>,<integer_expression>)返回character_expression左起integer_expression个字符。

3.2 RIGHT()

RIGHT(<character_expression>,<integer_expression>)返回character_expression右起integer_expression个字符。

3.3 SUBSTRING()

SUBSTRING(,<starting_position="">,length)返回从字符串左边第starting_position个字符起length个字符的部分。

3.4 SUBSTRING_INDEX()

select SUBSTRING_INDEX(SUBSTRING_INDEX('1086290887786995712_1086217687719845888_1086217427995959296_QU' ,'_',-3) ,'_',1);

四、字符串比较函数

4.1 CHARINDEX()

返回字符串中某个指定的子串出现的开始位置。

CHARINDEX(<'substring_expression'>,)其中substring_expression是所要查找的字符表达式,expression可为字符串也可为列名表达式。如果没有发现子串,则返回0值。此函数不能用于TEXT和IMAGE数据类型。

4.2 PATINDEX()

返回字符串中某个指定的子串出现的开始位置。

PATINDEX(<'%substring_expression%'>,<column_name="">)其中子串表达式前后必须有百分号“%”否则返回值为0。与CHARINDEX函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于CHAR、VARCHAR和TEXT数据类型。

五、字符串操作函数

5.1 QUOTENAME()

返回被特定字符括起来的字符串。QUOTENAME(<'character_expression'>[,quote_character])其中quote_character标明括字符串所用的字符,缺省值为“[]”。

5.2 REPLICATE()

返回一个重复character_expression指定次数的字符串。

REPLICATE(character_expression integer_expression)如果integer_expression值为负值,则返回NULL。

5.3 REVERSE()

将指定的字符串的字符排列顺序颠倒。

REVERSE(<character_expression>)其中character_expression可以是字符串、常数或一个列的值。

5.4 REPLACE()

返回被替换了指定子串的字符串。

REPLACE(<string_expression1>,<string_expression2>,<string_expression3>)用string_expression3替换在string_expression1中的子串string_expression2。

5.5 SPACE()

返回一个有指定长度的空白字符串。

SPACE(<integer_expression>)如果integer_expression值为负值,则返回NULL。

5.6 STUFF()

用另一子串替换字符串指定位置、长度的子串。

STUFF(<character_expression1>,<start_position="">,,<character_expression2>)

如果起始位置为负或长度值为负,或者起始位置大于character_expression1的长度,则返回NULL值。

如果length长度大于character_expression1中start_position以右的长度,则character_expression1只保留首字符。

参考文章

标签:返回,子串,函数,character,length,MySQL,字符串,expression
From: https://www.cnblogs.com/ciel717/p/17449389.html

相关文章

  • MySQL:SQL 错误 [1118] [42000]: Row size too large.
    1.场景:今天在用MySQL建表的时候,报了一个错误;SQL错误[1118][42000]:Rowsizetoolarge.Themaximumrowsizefortheusedtabletype,notcountingBLOBs,is65535.Thisincludesstorageoverhead,checkthemanual.YouhavetochangesomecolumnstoTEXTorBL......
  • C++、Lua、Python字符串防止转义
    使用场景C++里测试路径需要转义,Windows复制路径里面的斜杠需要加斜杠,每次都需要操作比较麻烦,而且看着也不好看换行,代码里有时候硬编码一些文本、数据,依赖""的自动拼接和行末的斜杠,需要手动写\r\n换行C++Rawstringliteral以前用Lua,里有[[]],防止转义非常方便。后来了解到P......
  • 函数 global全局变量; 局部变量;缺省参数
    #函数在函数里设置全局变量,会因为被赋值而修改x=2deffuncx():globalx#这个x是全局变量会因为函数里面被赋值而修改x=9print("thisxisinthefuncx:-->",x)funcx()print("--------------")print("thisxisinthefuncx:-->",x)'''......
  • Mysql进阶篇(一)之存储引擎
    一.MySQL体系结构1.连接层最上层是一些客户端和链接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信。主要完成一些类似于连接处理、授权认证及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可......
  • 函数 传参 返回值
    #函数传参deffoo1(name,address):print(name,address)#直接传入参数foo1('fqs',"huilongguan")#关键字传入参数foo1(name='doudou',address='huilongguan')'''fqshuilongguandoudouhuilongguan'''......
  • 【Oracle】行转列的函数wm_concat,listagg,xmlagg,pivot以及动态行转列
    【Oracle】行转列的几种情况表的数据如下朴实无华的函数1.wm_concat使用格式:select分组字段,wm_concat(要转换的列名)from表名groupby分组字段实例:selectit.Code,wm_concat(it.inv)fromttt20230705itgroupbyit.Code2.listagg()withingroup()使用格式:......
  • MySQL-锁等待排查
    背景最近我们的登录系统在每个钟点的18分就会登录不进去,排查后发现有锁等待情况,周期地发生那么很大几率是自动任务了,为了找到为什么会锁等待,我们做了以下的排查排查过程--1.锁住的事务SELECT*FROMINFORMATION_SCHEMA.INNODB_LOCKS;--2.事务SELECT*FROMIN......
  • aardio函数
    1、string.len()返回字符串长度string.len("abcdefghijk")结果:112、string.reverse()字符串倒序排列string.reverse("abcdefghijk",true)结果:kjihgfedcba3、string.upper()转换成大写string.upper("abcdefghijk")结果:ABCDEFGHIJK4、string.lower()转换成小写s......
  • 18个Excel中最常用的统计函数
    在日常工作中,数据统计是工作中最重要的一部分。今天兰色把Excel中最常用的统计函数整理了出来,共18个。为了方便同学们理解,选取的全是贴近应用的示例。 1、Count函数 作用:统计数字的个数示例:使用公式生成A列的序号=COUNT(A$1:A1)+1注:大小不一的合并单元格填充公式,要使用C......
  • mysql中count(*)和found_rows()的区别
    count(*)和found_rows()都可以用来求查询记录的数量而count(*)往往单独使用,found_rows()却可以跟上前面一个查询,即select*fromtablelimit10;selectfound_rows();这样的总共可分为几个区别:1.count(*)查询的无论是否为空,都会计数,而found_rows()却不是......