gpt4 book ai didi

sql-server - 将 nvarchar 列排序为整数

转载 作者:行者123 更新时间:2023-12-03 08:26:12 24 4
gpt4 key购买 nike

我在 nvarchar 列(单词和数字)中有混合数据。
这是按数字顺序对此列中的数据进行排序的最快方法。

结果示例:

  • 1
  • 2
  • 3
  • ...
  • 10
  • 11
  • ...
  • aaaa
  • aaab
  • b
  • ba
  • ba
  • ...
  • 最佳答案

    用这个:

    ORDER BY
    CASE WHEN ISNUMERIC(column) = 1 THEN 0 ELSE 1 END,
    CASE WHEN ISNUMERIC(column) = 1 THEN CAST(column AS INT) ELSE 0 END,
    column

    这按预期工作。

    注意 :你说最快的方式。这个 sql 对我来说生成速度很快,但是执行计划显示了一个表扫描,然后是一个标量计算。这可能会产生一个临时结果,其中包含该列的所有值,并为 ISNUMERIC 结果提供一些额外的临时列。执行速度可能不快。

    关于sql-server - 将 nvarchar 列排序为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/138501/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com