如何在 SQL-Server 中按字母顺序排序查询结果,然后再按数字值排序?
我有一个名为 aColumn 的 myTable 表需要进行查询。
我找到了这篇文章,其中提到尝试以下语句:
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