【问题标题】:Convert varchar to int in conjunction with substring in sql结合sql中的子字符串将varchar转换为int
【发布时间】:2020-07-01 04:38:00
【问题描述】:

我正在尝试按门牌号的顺序对结果进行排序,因为门牌号是 varchar,所以当我使用以下查询时,它不会按数字顺序排列它们:

SELECT CONCAT(given," ", middle," ", surname) AS People_who_live_in_Queen_Street, SUBSTRING(street, 1, 2) AS Street_Number
FROM people
WHERE street LIKE '%queen%'
ORDER BY Street_Number

我尝试过使用 CAST

SELECT CONCAT(given," ", middle," ", surname) AS People_who_live_in_Queen_Street, CAST(SUBSTRING(street, 1, 2) AS INT) AS Street_Number
FROM people
WHERE street LIKE '%queen%'
ORDER BY Street_Number

它不起作用。当我尝试 CONVERT 时遇到了同样的问题。不知道我哪里出错了。非常感谢任何帮助。

【问题讨论】:

  • 用您正在使用的数据库标记您的问题。

标签: sql casting int substring


【解决方案1】:

您需要转换为数字。也许是这样的:

ORDER BY CAST(Street_Number as DECIMAL(10, 2))

【讨论】:

    猜你喜欢
    • 2013-11-27
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    相关资源
    最近更新 更多