MySQL字符串转数字三种方式

这篇具有很好参考价值的文章主要介绍了MySQL字符串转数字三种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MySQL数据表t的c1列是varchar字符串类型,存储如下记录,

MySQL字符串转数字三种方式

如果按照"T+数字"中的"数字"排序,常规的操作order by c1,执行是错误的,实际上按照字符串的ASCII排序的,

select * from t01 order by c1;

MySQL字符串转数字三种方式

如果顺着想,字符串截取出"T+数字"中的"数字"排序,

select * from t01 order by substr(c1, 2);

还是不对的,因为本质上,还是按照字符串进行的排序,

MySQL字符串转数字三种方式

针对这个需求,可以有三种方案,

(1)字段值 + 0

MySQL会根据上下文自动转换类型,通过"字段值+0",可以将原本是字符类型的字段值以数值型返回,

select * from t01 order by substr(c1, 2) + 0;

MySQL字符串转数字三种方式

(2)CAST函数

CAST()函数可以将一个字段的值转成另一个类型并输出。 

语法:CAST(字段名 AS 转换的类型)

select * from t01 order by cast(substr(c1, 2) as unsigned);

MySQL字符串转数字三种方式

其中,

  • unsigned,表示无符号,不能表示小数。

  • signed,表示有符号,可以表示小数。

  • (3)CONVERT函数

CONVERT()函数,将一个字段的值转成另一个类型并输出。

语法:CONVERT(字段名, 转换的类型)

select * from t01 order by convert(substr(c1, 2), unsigned);

MySQL字符串转数字三种方式

其中,

  • unsigned,表示无符号,不能表示小数。

  • signed,表示有符号,可以表示小数。

  • 如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"和"在看",或者直接转发pyq,

  • MySQL字符串转数字三种方式

  • 近期更新的文章:

  • 《工体首战印象》

  • 《中超各主场巡礼(国安观赛指南)》

  • 《Oracle数据库升级对UTL_FILE的影响》

  • 《MySQL架构中存储引擎的介绍》

  • 《参加数据技术嘉年华大会有感》

  • 近期的热文:

  • 《推荐一篇Oracle RAC Cache Fusion的经典论文》

  • 《"红警"游戏开源代码带给我们的震撼》

  • 文章分类和索引:

  • 《公众号1200篇文章分类和索引》文章来源地址https://www.toymoban.com/news/detail-484878.html

到了这里,关于MySQL字符串转数字三种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql 拼接字符串,截取字符串 常用方式

    1,拼接字符串常用:CONCAT(‘需要拼接的字符串’,列名) CONCAT(\\\'+\\\',b.Telephone)查询出号码,前边加上+号 2,分割字符串 substring_index(b.Telephone,\\\'+\\\',1) 用从左往右的第一个+分割电话号码,获取分割后的从左往右的第一个字符串 比如 86+133333333 执行完后 为 86 substring_index(b.Telephone,\\\'+\\\',

    2024年02月14日
    浏览(51)
  • MySql 字符串中提取数字

    在MySQL中,有时需要从字符串中提取数字。在这种情况下,我们可以使用一些函数来实现该效果。但是,这些函数中的一些可能会提取字符串中的所有数字,而其他函数可能只会提取最长的数字字符序列。因此,我们需要了解每个函数的行为及其应用场景。 1. REGEXP_REPLACE()函数

    2024年02月09日
    浏览(59)
  • 【业务功能篇34】Java 字符串数字 左右补全0的几种方式

    业务场景: 我们在做一个单号字段设计的时候,经常需要用到这种格式,比如no2023062800001,no2023062800002,no2023062800003,单号累计递增,前缀是指定的字符串+当前日期+数字五位,不满五位左边补0 %06d的定义: 0代表前面要补的字符 6代表字符串长度 d表示参数为整数类型

    2024年02月13日
    浏览(67)
  • 【Java】HttpServlet类中前后端交互三种方式(query string、form表单、JSON字符串)

    在前后端的交互中,前端通过以下三种方式来与后端进行交互🌟 ✅query string ✅form表单 ✅JSON字符串 下面我们将书写这三种方式的后端代码并进行讲解 QueryString即在url中写入键值对,一般用doGet方法进行交互 代码如下  用postman验证    form表单一般用doPost方法进行交互 Jason是

    2024年01月19日
    浏览(41)
  • MySQL 将字符串转换为数字类型并进行排序

    示例数据:area_gdp 表 id    area    gdp 1    北京    1200 2    上海    6100 3    广州    6000 4    深圳    980 select * from area_gdp ORDER BY gdp ASC # 查询结果如下 1    北京        1200 3    广州     6000 2    上海        6100 4    深圳     980 SELECT * FROM area_gdp OR

    2024年02月05日
    浏览(46)
  • mysql判断查询条件是否包含某字符串的7种方式

    like 也就是模糊查询 如:select * from user where user_name \\\'%李%\\\' locate 判断是否包含某字符串 如:select * from user where locate(\\\'李\\\',user_name)0 position 判断是否包含某字符串 如:select * from user where position(\\\'李\\\' in user_name)0 instr 判断是否包含某字符串 如:select * from user where instr(user_name,\\\'李\\\'

    2024年02月16日
    浏览(83)
  • MySQL数据库——MySQL数据表添加字段(三种方式)

    MySQL 数据表是由行和列构成的,通常把表的“列”称为字段(Field),把表的“行”称为记录(Record)。随着业务的变化,可能需要在已有的表中添加新的字段。 MySQL 允许在开头、中间和结尾处添加字段。 一个完整的字段包括字段名、数据类型和约束条件。MySQL 添加字段的语

    2024年02月08日
    浏览(92)
  • c语言字符串转数字,数字转字符串

    目录 一、字符串转数字 1. 标准库转换 atoi(),字符串转换成整型数 atol(),字符串转换成长整型数 atof()字符串转换为浮点值 atoll(),字符串转换成长长整型数 strtod(),字符串转换为浮点数  strtol(),将字符串换成长整型数 二、数字转字符串 1. 通过C语言标准库函数 itoa(),整数转换成字符

    2024年02月02日
    浏览(40)
  • JavaScript删除字符串最后一个字符的三种方法

    JavaScript删除字符串最后一个字符的三种方法 在JavaScript中,我们经常需要操作字符串。有时候,我们可能需要删除字符串的最后一个字符。下面将介绍三种常见的方法来实现这个目标。 方法一:使用 slice 函数 slice 函数是JavaScript中一个常用的字符串方法,它可以返回一个新的

    2024年02月08日
    浏览(57)
  • ES:字符串排序,字符串按照数字排序

    对一个字符串类型的字段进行排序通常不准确,因为已经被分词成多个词条了 字段虽然是字符串,但是其实值是整数, 排序按照字符串转成整数排序 解决方式:对字段索引两次,一次索引分词(用于搜索),一次索引不分词(用于排序) 期望按照字符串排序, 不分词 期望按照

    2024年02月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包