`
不识庐山真面目
  • 浏览: 81086 次
  • 来自: 武汉
社区版块
存档分类
最新评论

mysql学习,字符串转成数字并比较排序

 
阅读更多

mysql学习,字符串转成数字并比较排序


SUBSTRING_INDEX([列名],[分割符],[段数])
列名:要分割列里内容的列名
分割符:用来切割的符号
段数:切割后取的长度

以下示例说明参数:
表info
列c_code

1-10-ache

select SUBSTRING_INDEX(c_code,'-',1) as c_code from info
会输出
c_code
1
而select SUBSTRING_INDEX(c_code,'-',2) as c_code from info
会输出
1-10
select SUBSTRING_INDEX(c_code,'-',-1) as c_code from info
会输出
ache
这里-1跟高级语言中字符串截取一样,同样负数表示从后面开始计算

排序,则
1-10-ache
1-2-ache
2-11-ache
2-3-ache
2-5-ache

select * from info order by (SUBSTRING_INDEX(c_code,'-',1)+0),(SUBSTRING_INDEX(SUBSTRING_INDEX(c_code,'-',2),'-',-1)+0) asc

输出
1-2-ache
1-10-ache
2-3-ache
2-5-ache
2-11-ache

利用双重截取,之后利用mysql特性(+0会自动转化也数字),作数值的大小比较

分享到:
评论

相关推荐

    MySQL关于字符串中数字排序的问题分析

    在MySQL中,处理字符串中的数字排序可能会遇到一些特殊的情况,因为MySQL默认会按照字符串的字典顺序进行排序,而不是按照数字的大小。当字段的定义是字符串类型(如VARCHAR),但实际存储的是数字时,如果不做特殊...

    mysql字符串连接函数

    ### MySQL字符串连接函数详解 在处理数据库中的字符串操作时,MySQL提供了多种强大的工具来帮助我们进行数据处理。本文主要介绍几种常用的字符串连接函数,包括`CONCAT()`、`CONCAT_WS()`以及`GROUP_CONCAT()`函数...

    让我胃疼的MySQL字符集问题

    MySQL字符集问题一直以来都是数据库管理中的一个痛点,尤其是在处理多语言数据或者进行数据迁移时,不恰当的字符集设置可能导致乱码、无法存储特殊字符甚至数据丢失。这篇文档将深入探讨MySQL字符集的工作原理,常见...

    深入MYSQL字符数字转换的详解

    1.将字符的数字转成数字,比如’0’转成0可以直接用加法来实现例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决select * from pony order by (d+0)2.在进行ifnull处理时,比如 ifnull(a/b,’0′) ...

    MySQL 连接字符串函数 CONCAT() CONCAT-WS() GROUP-CONCAT()

    在 MySQL 中,处理字符串拼接有几种非常实用的函数,它们分别是 `CONCAT()`、`CONCAT_WS()` 和 `GROUP_CONCAT()`。这些函数在数据库操作中经常用于构建复合字符串,以满足特定的需求。 1. **CONCAT() 函数** `...

    SQL字符型字段按数字型字段排序实现方法

    在SQL查询中,对字符型字段进行数字排序时,通常会遇到按照字母顺序排列的问题,因为数据库默认按照字符的ASCII值进行排序。例如,数字"123"在字母"2"之前,这显然不是我们期望的数字顺序。本文将探讨两种解决方法,...

    Mysql字符集

    校对规则决定了两个字符串的比较结果,是否区分大小写,以及特定字符的排序位置等。常见的校对规则后缀有_ci(大小写不敏感)、_cs(大小写敏感)和_bin(基于字符编码的二进制比较)。 #### 二、MySQL字符集的设置...

    mysql基本函数

    STRCMP() 函数可以逐字符比较两个字符串的大小,从而实现字符串的比较和排序。 16. SUBSTRING (str , position [,length ] ):从字符串中提取子字符串。 SUBSTRING() 函数可以从字符串中提取子字符串,从而实现...

    MYSQL,SQLSERVER,ORACLE常用的函数

    在字符串中搜索指定的字符,并返回该字符的位置。例如: ```sql SELECT INSTR('oracle traning', 'ra', 1, 2) AS instring FROM dual; ``` 输出结果为9,因为第二个“ra”的位置是在第9个字符处。 #### 6. LENGTH ...

    presto sql 与mysql sql 对比.pdf

    例如,在 MySQL SQL 中,`where` 条件中的字符串类型可以隐式转换为数字类型,但这可能会造成索引不起效和非预期的结果。 聚合函数 Presto SQL 和 MySQL SQL 都支持聚合函数,如 `count()`、`sum()`、`avg()` 等。...

    mysql中文排序注意事项与实现方法

    mysql中文排序方法1 mysql在查询字符串时是大小写不敏感的,在编绎mysql时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象,比较应急的方法是对于包含中文的字段加上”...

    PHP和MySQL Web开发第4版pdf以及源码

    4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp() 4.4.2 使用strlen()函数测试字符串的长度 4.5 使用字符串函数匹配和替换子字符串 4.5.1 在字符串中查找字符串:strstr()、strchr()、strrchr()和...

    新版 MySQL DBA 高级视频 基于MySQL 5.7 MySQL 8.0版本.rar

    │ 6_MySQL字符串类型.mp4 │ 7_MySQL存储引擎.mp4 │ 8_MySQL第三范式设计讲解.mp4 │ 9_MySQL数据库设计工具.mp4 │ ├─新版MySQL DBA综合实战班 第06天 │ 1_课堂作业讲解.mp4 │ 2_InnoDB内核之事务和多版本...

    MySQL按常规排序、自定义排序和按中文拼音字母排序的方法

    自定义排序是根据自己想要的特定字符串(数字)顺序进行排序。 主要是使用函数 FIELD(str,str1,str2,str3,…) MySQL的自定义排序,str与str1、str2、str3…进行比较,并按照str1,str2,str3…的顺序输出,如果遇到str...

    Mysql函数大全.pdf

    - 在使用字符串函数时,如果涉及的字符集和排序规则不同,则可能会影响函数的行为和返回结果。 - 对于包含NULL值的字符串操作,需要注意函数如何处理NULL参数,大多数字符串函数在遇到NULL值时会返回NULL。 - ...

    MYSQL

    6.14 怎样使MySQL安全以对抗解密高手(cracker) 7 MySQL 语言参考 7.1 文字:怎样写字符串和数字 7.1.1 字符串 7.1.2 数字 7.1.3 十六进制值 7.1.4 NULL值 7.1.5 数据库,表,索引,...

    《PHP与MySQL权威指南》读书笔记模板x.pptx

    5. 数组:数组的基本概念、数字索引数组、数组的创建和添加、数组元素的添加和删除、数组的遍历、字符串与数组之间的转换、多维数组、数组的排序、数组判断函数等。 6. PHP对文件的操作:打开/关闭文件、读取文件、...

    EasyUI Datagrid 中文排序的问题

    - `localeCompare` 方法可以比较两个字符串,并根据语言环境进行排序。参数 `'zh'` 表示按照中文环境排序。 - `sortable: true` 指明该列可以排序。 - `sorter: nameSorter` 指定了排序函数。 通过上述方式,...

Global site tag (gtag.js) - Google Analytics