Mysql字符串处理函数详细介绍、总结

2023-11-15

1、ASCII(str)

        返回字符的 ASCII 码值;
        返回值为字符串str 的最左字符(第一个字符)的数值, 即取得最左字符的 ascii 码。
        假如str 为空字符串,则返回值为 0 。假如 str NULL ,则返回值为 NULL
        ASCII()用于带有从 0 255 的数值的字符。

2、BIN(N)

        返回值为N 的二进制值的字符串表示,即转为二进制。
        其中 N 为一个 longlong (BIGINT) 数字。这等同于 CONV(N,10,2) 。假如 N NULL ,则返回值为 NULL

3、BIT_LENGTH(str)

        返回值为二进制的字符串 str 长度。

4、CHAR(N,… [USING charset])

        CHAR()将每个参数 N 理解为一个整数,其返回值为一个包含这些整数的代码值所给出的字符的字符串。 NULL 值被省略。
        即将所有参数转为字符后连接在一起。

5、CHAR_LENGTH(str)

        返回值为字符串str 的长度,长度的单位为字符。

6、CHARACTER_LENGTH(str)

        CHARACTER_LENGTH()是 CHAR_LENGTH() 的同义词。

7、COMPRESS(string_to_compress)

        压缩一个字符串

8、CONCAT(s1,s2…,sn)

        将 s1,s2…,sn连接成字符串,返回结果为连接参数产生的字符串。

9、CONCAT_WS(sep,s1,s2…,sn)

        将 s1,s2…,sn 连接成字符串,并用 sep 字符间隔。
        CONCAT_WS() 代表 CONCAT With Separator ,是 CONCAT() 的特殊形式。
        第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。
        分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL ,则结果为 NULL 。函 数会忽略任何分隔符参数后的 NULL 值

10、CONV(N,from_base,to_base)

        不同数基间转换数字。返回值为数字的N 字符串表示,由 from_base 基转化为 to_base 基。如有任意一个参数为 NULL ,则返回值为 NULL
        自变量 N 被理解为一个整数,但是可以被指定为一个整数或字符串。最小基数为 2 ,而最大基数则为 36

11、ELT(N,str1,str2,str3,…)

        若N = 1 ,则返回值为 str1 ,若 N = 2 ,则返回值为 str2 ,以此类推。 若 N 小于 1 或大于参数的数目,则返回值为 NULL

12、EXPORT_SET(bits,on,off[,separator[,number_of_bits]])

        返回值为一个字符串,其中对于bits 值中的每个位组,可以得到一个 on 字符串,而对于每个清零比特位,可以得到一个 off 字 符串。
        bits 中的比特值按照从右到左的顺序接受检验 ( 由低位比特到高位比特 )
        字符串被分隔字符串分开( 默认为逗号 ‘,’) ,按照从左到右的顺序被添加到结果中。 number_of_bits 会给出被检验的二进制位数 (默认为 64)

13、FIELD(str,str1,str2,str3,…)

        返回值为str1, str2, str3,…… 列表中的 str 指数(位置)。在找不到 str 的情况下,返回值为 0
        如果所有对于FIELD() 的参数均为字符串,则所有参数均按照字符串进行比较。
        如果所有的参数均为数字,则按照数字进行比较。否则,参数按照双倍进行比较。

14、FIND_IN_SET(str,list)

        分析逗号分隔的 list 列表,如果发现 str ,返回 str list 中的位置。
        假如字符串str 在由 N 子链组成的字符串列表 list 中, 则返回值的范围在 1 N 之间(即 str list 中的位置) 。 一个字符串列表就是一个由一些被‘,’ 符号分开的自链组成的字符串。

15、FORMAT(X,D)

        将数字X 的格式写为 ’#,###,###.##’, 以四舍五入的方式保留小数点后 D 位,并将结果以字符串的形式返回。 若 D 0, 则返回结果不带有小数点,或不含小数部分。

16、HEX(N_or_S)

        如果N_OR_S 是一个数字,则返回一个 十六进制值 N 的字符串表示,在这里, N 是一个 longlong (BIGINT)数。这相当于 CONV(N,10,16)。

17、INSERT(str,pos,len,instr)

        将字符串 str 从第pos 位置开始,len 个字符长的子串替换为字符串instr(str中的字符被instr替换)并返回。
        如果pos 超过字符串长度,则返回值为原始字符串。
        假如len 的长度大于其它字符串的长度,则从位置 pos 开始替换。若任何一个参数为 null ,则返回值为 NULL

18、INSTR(str,substr)

        返回字符串 str 中子字符串的第一个出现位置。这和 LOCATE() 的双参数形式相同,除非参数的顺序被颠倒。

19、LCASE(str)LOWER(str)

        返回将字符串 str中所有字符改变为小写后的结果。 ( 默认为 cp1252 Latin1 字符集)

20、LEFT(str,x)

        返回字符串 str 中最左边的 x 个字符

21、LENGTH(str)

        返回字符串 str中的长度(字符数),单位为字节。一个多字节字符算作多字节。
这意味着对于一个包含 5 2 字节字符的字符串, LENGTH() 的返回值为 10, CHAR_LENGTH() 的返回值则为 5

22、LOAD_FILE(file_name) 

        读取文件并将这一文件按照字符串的格式返回。
UPDATE tbl_name
SET blob_column=LOAD_FILE(‘/tmp/picture’)
WHERE id=1;

23、LOCATE(substr,str) , LOCATE(substr,str,pos)

        第一个语法返回字符串 str 中子字符串 substr 的第一个出现位置。
        第二个语法返回字符串 str 中子字符串 substr 的第一个出现位置 , 起始位置在 pos 。如若 substr 不在 str 中,则返回值为 0

24、LPAD(str,len,padstr)

        返回字符串 str, 其左边由字符串 padstr 填补到 len 字符长度。假如 str 的长度大于 len, 则返回值被缩短至 len 字符,即在str 前面添加长度为 len padstr。

25、LTRIM(str)

        从字符串 str 中切掉开头的空格。

26.MAKE_SET(bits,str1,str2,…)

        返回一个设定值 ( 一个包含被 ‘,’ 号分开的字字符串的字符串 ) ,由在 bits 组中具有相应的比特的字符串组成。
        str1 对应比特 0, str2 对应比特 1, 以此类推。 str1, str2, … 中的 NULL 值不会被添加到结果中。

27、MID(str,pos,len)

        MID(str,pos,len) 是 SUBSTRING(str,pos,len) 的同义词。

28、OCT(N)

        返回一个 N 的八进制值的字符串表示,其中 N 是一个 longlong (BIGINT) 数。这等同于 CONV(N,10,8) 。若 N NULL ,则返回 值为NULL

29、OCTET_LENGTH(str)

        OCTET_LENGTH() 是 LENGTH() 的同义词。

30、ORD(str)

        若字符串str 的最左字符是一个多字节字符,则返回该字符的代码,假如最左字符不是一个多字节字符,那么 ORD() 和函数 ASCII() 返回相同的值。

31、POSITION(substr,str)

        返回子串 substr 在字符串 str中第一次出现的位置。是 LOCATE(substr,str) 同义词。

32、QUOTE(str)

        用反斜杠转义 str 中的单引号

33、REPEAT(str,count)

        返回一个由重复的字符串str 组成的字符串,字符串 str 的数目等于 count
        若 count <= 0, 则返回一个空字符串。若 str count NULL ,则返回 NULL

34、REPLACE(str,from_str,to_str)

        返回字符串str 以及所有被字符串 to_str 替代的字符串 from_str。

35、REVERSE(str)

        返回颠倒字符串 str的结果。返回字符串 str ,顺序和字符顺序相反。

36、RIGHT(str,x)

        返回字符串 str 中最右边的 x 个字符。

37、RPAD(str,len,padstr)

        返回字符串str, 其右边被字符串 padstr 填补至 len 字符长度。
        假如字符串str 的长度大于 len, 则返回值被缩短到与 len 字符相同长度。

38、RTRIM(str)

        返回字符串 str, 尾部的空格被删除。

39、SOUNDEX(str)

        从str 返回一个 soundex 字符串。

40、SPACE(N)

        返回一个由N 间隔符号组成的字符串。

41、SUBSTRING(str,pos) , SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len)

        SUBSTR()是 SUBSTRING() 的同义词。
        不带有len 参数的格式从字符串 str 返回一个子字符串,起始于位置 pos
        带有len 参数的格式从字符串 str 返回一个长度同 len 字符相同的子字符串,起始于位置 pos
        使用 FROM 的格式为标准 SQL 语法。也可能对 pos 使用一个负值。
        假若这样,则子字符串的位置起始于字符串结尾的pos 字符,而不是字符串的开头位置。

42、SUBSTRING_INDEX(str,delim,count)

        在定界符 delim 以及 count 出现前,从字符串 str 返回自字符串。
        若count 为正值 , 则返回最终定界符 ( 从左边开始 ) 左边的一切内容。若 count 为负值,则返回定界符(从右边开始)右边的一切内 容。

43、STRCMP(s1,s2)

        比较字符串 s1 s2。
        若所有的字符串均相同,则返回STRCMP() ,若根据当前分类次序,第一个参数小于第二个,则返回 -1 ,其它情况返回 1

44、TRIM(str)

        去除字符串首部和尾部的所有空格

45、UCASE(str)UPPER(str)

        返回将字符串 str中所有字符转变为大写后的结果。( 默认为 cp1252 Latin1 字符集)

46、UNCOMPRESS(string_to_uncompress)

对经 COMPRESS() 函数压缩后的字符串进行解压缩。

47、UNCOMPRESSED_LENGTH(compressed_string)

返回压缩字符串压缩前的长度。

48、UNHEX(str)

        执行从HEX(str) 的反向操作。就是说,它将参数中的每一对十六进制数字理解为一个数字,并将其转化为该数字代表的字符。 结果字符以二进制字符串的形式返回。

49、模式匹配:通配符

        % :匹配任何数目的字符,甚至包括零字符
        _ :只能匹配一种字符
        转义用‘/’
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql字符串处理函数详细介绍、总结 的相关文章

  • MySQL正则表达式:如何将字符串中的数字与\d匹配?

    我有一个专栏release date它以字符串格式存储日期 不是 DATETIME 格式 因为它们有时可以是任何其他字符串文字 我想根据给定的月份和年份查找任意日期的所有记录 尝试遵循但对我不起作用 gt Post find all con
  • 显示和随机化 php 数组

    我有一个显示结果的数组 如下所示 Array 0 gt 71 1 gt 56 2 gt 64 3 gt 82 4 gt 90 5 gt 80 6 gt 65 7 gt 62 8 gt 14 9 gt 3 我的代码是 while row my
  • 针对约 225 万行的单表选择查询的优化技术?

    我有一个在 InnoDB 引擎上运行的 MySQL 表 名为squares大约有 2 250 000 行 表结构如下 squares square id int 7 unsigned NOT NULL ref coord lat doubl
  • 使用 MYSQL 将 h:mm pm/am 时间格式插入数据库

    我正在尝试将以 h mm am pm 格式写入的时间插入到存储为标准 DATETIME 格式 hh mm ss 的数据库中 但我不知道如何将发布的时间转换为标准格式所以数据库会接受它 这是我到目前为止一直在尝试的 title POST in
  • MySQL 概念:会话与连接

    我对 MySQL 的概念有点困惑 会话与连接 当谈论连接到 MySQL 时 我们使用连接术语 连接池等 然而在 MySQL 在线文档中 http dev mysql com doc refman 4 1 en server system v
  • rake db 问题:迁移 -

    我无法为 Ruby on Rails 设置 MySQL 数据库 设置数据库并确保 config database yml 文件匹配后 我遇到了以下错误消息 U Rails alpha gt rake db migrate trace in
  • MySQL:@@ 是什么意思?

    我正在阅读本页上的 MySQL 文档 http dev mysql com doc refman 5 1 en set statement html http dev mysql com doc refman 5 1 en set stat
  • 从表中选择行,其中另一个表中具有相同 id 的行在另一列中具有特定值

    在 MySQL 中 如果我们有两个表 comments key value 1 foo 2 bar 3 foobar 4 barfoo and meta comment key value 1 1 2 1 3 2 4 1 我想得到来自以下人
  • 选择获取与 MySQL Group 中 max 对应的整行

    当我使用Max使用后查找特定 MySQL 组中字段的最大值GROUP BY 是否可以获取包含最大值的整行 我在处理一些论坛代码时偶然发现了这个线程 我想获取每个线程的最新帖子并将其显示在特定板的线程列表中 Quassnoi上面的回答对我非常
  • 如何在 MySQL 中构建跨数据库查询?

    我在同一台服务器上有两个数据库 谷歌给了我一些提示 但我找不到任何 官方 的东西 有人可以向我指出解释如何执行此操作的文档吗 使用 PHP 进行解释也很有用 谢谢 我在同一台服务器上有两个数据库 如何在 MySQL 中构建跨数据库查询 您可
  • 如何将数据源url查询参数添加为application.properties?

    是否可以添加数据源 url 参数作为额外属性 或者我总是必须将它们作为查询参数直接附加到 url 中 Example spring datasource url jdbc mysql localhost test useSSL false
  • 如何将条件聚合 mysql 转换为 laravel 查询?

    我的sql查询是这样的 SELECT a number a description MAX CASE WHEN b attribute code brand then b attribute value END as brand MAX C
  • 复杂的sql树行

    表结构 id message reply id 1 help me 0 434 love to 1 852 didn t work 434 0110 try this 852 2200 this wont 0 5465 done 0110
  • 限制分页页数

    objConnect mysql connect localhost root or die mysql error objDB mysql select db Test strSQL SELECT FROM UserAddedRecord
  • 使用php插入sql数据库时出错

    我有一个带有 MySQL 插入查询的程序 sql INSERT INTO people person id name username password email salt VALUES person id name username p
  • 如何检查一个值是否已经存在以避免重复?

    我有一个 URL 表 但我不想要任何重复的 URL 如何使用 PHP MySQL 检查给定 URL 是否已在表中 如果您不想重复 可以执行以下操作 添加唯一性约束 use REPLACE http dev mysql com doc ref
  • PHP:如何检查总数。 URL 中的参数?

    我正在使用 REQUEST 检索参数 有没有办法找到总数 URL 中的参数 而不是检索每个参数然后进行计数 这将为您提供总数 分隔的 URL 查询参数 count explode SERVER QUERY STRING 如果您只想要唯一的参
  • 您可以使用 MySQL 查询来完整创建数据库的副本吗

    我有一个包含 5 个表的 MySQL 数据库的实时版本和一个测试版本 我不断使用 phpMyAdmin 将实时版本中的每个表复制到测试版本 有谁有mysql查询语句来制作数据库的完整副本吗 查询字符串需要考虑结构 数据 自动增量值以及与需要
  • MySQL 正在将我的时间戳值转换为 0000-00-00

    我是 PHP 新手 目前仍在学习中 我认为我的注册表有问题 username password email全部成功插入MySQL registered and last seen不要 我以为我正在使用getTimestamp 错了 但它呼应
  • Mac OSX 10.6 上的 Python mysqldb 不工作

    我正在使用 Python 2 7 并尝试让 Django 项目在 MySQL 后端运行 我已经下载了 mysqldb 并按照此处的指南进行操作 http cd34 com blog programming python mysql pyth

随机推荐

  • 删除闭包

    var foo function var n 0 return add function return n
  • mySQL (关系型数据库管理系统)

    MySQL是一个关系型数据库管理系统 由瑞典MySQL AB 公司开发 目前属于 Oracle 旗下产品 MySQL 是最流行的关系型数据库管理系统之一 在 WEB 应用方面 MySQL是最好的 RDBMS Relational Datab
  • 用C语言完整实现12种排序方法

    1 冒泡排序 思路 比较相邻的两个数字 如果前一个数字大 那么就交换两个数字 直到有序 时间复杂度 O n 2 稳定性 这是一种稳定的算法 代码实现 void bubble sort int arr size t len size t i
  • Spring Boot实现文件上传和下载

    实现Spring Boot文件上传和下载的步骤 1 文件上传 在pom xml文件中添加依赖 spring boot starter web和spring boot starter thymeleaf 创建一个上传前端的页面 包括一个表单来
  • 什么是住宅ip,静态和动态怎么选?

    上文我们介绍了数据中心代理 这次我们来介绍下住宅代理ip 住宅代理ip分类两种类型 静态住宅代理和动态住宅代理 他们有什么区别又能用在什么场景呢 我们先从他们是如何运作开始 一 什么是住宅代理ip isp住宅代理ip我们称为真人住宅代理 地
  • spring IOC流程图

    ioc核心 DefaultListableBeanFactory private final Map
  • 点云检测笔记2022

    目录 激光雷达综述 2022以前的点云检测 自动驾驶中的坐标系 Complex YOLOv4 激光雷达综述 百度安全验证
  • 记公司同事的一次集体活动

    花田游记 李维俊 杭州大区 风和日丽暖 春意现昂然 花田一日游 同事尽相伴 借着浓浓的春意在3月26日杭州大区组织到海上花田烧烤游玩 告别了城市的喧嚣 没有了工作的压力围绕在我们身边的只有体现同事之间紧密团队精神的欢声笑语 上午我们团队一行
  • Python优雅的日志——loguru

    loguru RECOMMENDATION 影视 loguru 据小提莫观察 在python的使用者中 善于聪明 偷懒 以及不重复造轮子已经成为大家的共识 正所谓 人生苦短 我用python 作为python的爱好者 肯定是喜欢python
  • 【分析】segments的version_map_memory指标具体表示什么?

    ES有很多的监控指标 其中有一些指标官方解释的实在模糊 比如version map memory byte units Total amount of memory used by all version maps across all s
  • JAVA 集合之迭代器Iterator

    Java语言中的Iterator功能比较简单 只能单向移动 它的主要功能有四种 1 凡是实现Collections接口的数据结构都可以使用该方法 第一次调用Iterator的next 方法时 它返回序列的第一个元素 2 使用next 获得序
  • 前哈工大教授开发的ChatALL火了!可同时提问17个聊天模型,ChatGPT/Bing/Bard/文心/讯飞都OK...

    丰色 发自 凹非寺量子位 公众号 QbitAI 今天的你 是否还在几个聊天大模型之间 反复横跳 毕竟各家训练数据和方法不尽相同 擅长和不擅长的东西也都不一样 现在 不用这么麻烦了 有人开发了一个名叫 ChatALL 的应用 可以将你的提问同
  • CTFShow Web7&Web8

    这两道题都是版本控制工具直接部署到生产环境中造成的信息泄露 所以在此一起总结 题目中给出了明显的提示 版本控制很重要 但不要部署到生产环境更重要 和备份文件泄露的题型一样 笔者自己的感觉是这种题型最常用的工具就是dirsearch 因此选择
  • C++类的默认成员函数 —— 析构函数

    一 概念 析构函数 与构造函数功能相反 析构函数不是完成对对象本身的销毁 局部对象销毁工作是由编译器完成的 而对象在销毁时会自动调用析构函数 完成对象中资源的清理工作 二 特征 析构函数是特殊的成员函数 其特征如下 1 析构函数名是在类名前
  • 物联网、区块链、元宇宙和虚拟数字人离普罗大众有多远?

    首先 我们最早理解的数字人就是数字虚拟的一个假人 可能看起来很像二次元玩偶的样子 今天我觉得数字人是一种虚拟的数字身份 无所谓你的形象是仿真或是任何形象 包括你在现实中无法实现的形象 你在梦想中所渴望的概念 无论它是什么样的 它是你在另外一
  • 微信小程序,计算时分秒时间差

    shijiancha function faultDate completeTime var stime Date parse new Date faultDate var etime Date parse new Date complet
  • r语言(总)(我命油我不油天)

    seq等间隔函数 seq from to by length out along with from to 为数值 表示开始和结束 by为数值 表示间隔 length out为数值 表示数列长度 along with为向量 表示数列长度与该
  • fabric基本概念

    Hyperledger fabric基本概念 首先fabric是由IBM贡献的超级账本框架 它是一个利用现有成熟的技术来组合而成的一个区块链技术的实现 它是一种允许可插拔实现各种功能的的模块化架构 它具有强大的容器技术 来承载各种主流语言来
  • C语言进阶——文件管理

    每当我们写好一段代码运行结束之后 再次运行的时候就会发现 之前在终端上输入的数据都会消失 那么如何把之前输入的数据保存下来呢 我们一般把数据持久化的方式有把数据存放在磁盘文件中 存放到数据库 打印等方式进行保存 使用文件我们可以直接将数据保
  • Mysql字符串处理函数详细介绍、总结

    1 ASCII str 返回字符的 ASCII 码值 返回值为字符串str 的最左字符 第一个字符 的数值 即取得最左字符的 ascii 码 假如str 为空字符串 则返回值为 0 假如 str 为 NULL 则返回值为 NULL ASCI