【问题标题】:How to get number from String sql [duplicate]如何从String sql中获取数字[重复]
【发布时间】:2015-04-16 01:18:12
【问题描述】:

我想从 sql 中的字符串中获取数字 示例:mn21 或 mnp100,如何从“mb21”或“mnp100”中获取数字。 然后,我将按数字排序

【问题讨论】:

  • 所有字符串都以数字结尾吗?
  • 是的,但它们的长度不同

标签: sql sql-server


【解决方案1】:

您可以使用PATINDEX搜索号码的起始索引,然后RIGHT获取剩余号码:

WITH SampleData(string) AS(
    SELECT 'mn21' UNION ALL
    SELECT 'mnp100'
)
SELECT
    string, 
    Number = CAST(RIGHT(string, LEN(string) - PATINDEX('%[0-9]%', string) + 1) AS INT)
FROM SampleData
ORDER BY Number

【讨论】:

  • 谢谢,好主意
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-18
  • 1970-01-01
  • 2020-08-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多