当前位置: 首页 > 面试题库 >

在MySQL查询中将文本转换为数字

欧阳德运
2023-03-14
问题内容

是否可以在MySQL查询中将文本转换为数字?我有一列带有标识符的列,该标识符由名称和数字组成,格式为“名称-
数字”。该列具有VARCHAR类型。我想根据数字(行名相同)对行进行排序,但是根据do字符顺序对列进行排序,即

name-1
name-11
name-12
name-2

如果我减少了数字,是否可以将“ varchar”数字转换为“真实”数字并用它对行进行排序?我想获得以下订单。

name-1
name-2
name-11
name-12

我无法将数字表示为单独的列。

编辑2011-05-11 9:32

我发现以下解决方案... ORDER BY column * 1。如果名称中不包含任何数字,是否可以保存使用该解决方案


问题答案:

这应该工作:

SELECT field,CONVERT(SUBSTRING_INDEX(field,'-',-1),UNSIGNED INTEGER) AS num
FROM table
ORDER BY num;


 类似资料:
  • 问题内容: 当我在mysql中执行查询时,我尝试按以下方式打印输出。 Salary列的值为45000,第三列中的第二列中的Value通过Query转换为单词。 我找到了一些文章,在Oracle中可以使用以下查询获得如上所述的结果: 输出: 在MySQL中,我尝试了LPAD,RPAD,但那些只是将字符串添加到结果中,而不是将单词转换为字符串。 我找到了一些教程,但所有这些教程都对“ TO_CHAR(

  • 我试图将下面的PostgreSQL查询转换为本机查询,但遇到错误。 Postgres查询: 本机查询: 但我得到了以下错误: 无法提取结果集;SQL [n/a];嵌套异常是 org.hibernate.exception.SQLGrammarException: 无法提取 ResultSet

  • 问题内容: 关于我之前的问题ElasticSearchQuery,其中给出了映射和doc示例,我想将此MySql查询转换为Elasticsearch。这是mysql查询 期待您的帮助 问题答案: 以下查询将为您提供帮助。请注意,在映射中,您已经提到了上述查询。 尽管如此,我还是利用了它,使其与映射保持一致。 我使用过术语查询,术语查询和多匹配查询的变体。 请注意,我已经在字段上使用了Term Qu

  • 问题内容: 我正在使用mysql功能XOR(^)和BIT_COUNT()的Ruby应用程序上工作。但是,我现在需要在运行PyGreSQL的Heroku上运行该应用程序。 我找不到任何可以帮助我的PyGreSQL文档。 那么任何人都可以翻译此mysql查询,以便在pygresql数据库上执行时可以正常工作吗? pygresql给我错误 谢谢。 问题答案:

  • 问题内容: 我需要将此查询从MySQL格式转换为SQLite。我正在尝试自己,但发现了一些困难。 在SQLite中,curdate()和interval函数不存在。 问题答案: 这是基本语法: 我忽略了该子句,因为这些日期是过去1000多个日期,因此他们无论如何都不会选择任何内容。

  • 我使用了cakephp Mysql到mongodb查询组件,即将Mysql查询转换到mongodb中,但是当查询有多个括号时代码停止工作,我还尝试将http://www.querymongo.com/site上的查询转换为相同的问题,