gpt4 book ai didi

sql - 如何按字母然后按数字排序?

转载 作者:行者123 更新时间:2023-12-04 23:43:02 31 4
gpt4 key购买 nike

在 SQL-Server 中按数值排序之前,如何按字母字符排序查询结果?

我有一个带有我想查询的列的 myTable

我找到了 this ,它说尝试以下内容:

SELECT * FROM dbo.myTable
WHERE aColumn LIKE '%val'
ORDER BY IF(aColumn RLIKE '^[a-z]', 1, 2), aColumn

但是这是针对 MySQL 的,这可能是它在 SQL-Server 中不起作用的原因。带有正则表达式过滤器的 SQL-Server 是否有类似的东西?我为此得到的错误消息是:
Msg 156, Level 15, State 1, Line 3
Incorrect syntax near the keyword 'IF'
Msg 102, Level 15, State 1, Line 3
Incorrect syntax near 'RLIKE'

我想看到的是这样的:
Aval
Bval
Cval
1val
2val

而不是
1val
2val
Aval
Bval
Cval

最佳答案

您可以使用 LIKE 谓词:

SELECT m.* 
FROM dbo.myTable m
WHERE aColumn LIKE '%val'
ORDER BY (CASE WHEN aColumn like '[a-z]%' THEN 0 ELSE 1 END), aColumn;

关于sql - 如何按字母然后按数字排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51615402/

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