sql - 首先对表中的数据进行数字排序,然后对字符串进行排序(不带 asc 或 desc)

标签 sql sql-server t-sql

我有一个表,其中包含列值

45
55
47
AB
56
AC
43

我想排序为

45
55
47
56
43
AB
AC

表示先是数字,然后是字符串,并且不按 asc 或 desc 排序

请建议我如何做

最佳答案

SQL中,您可以简单地在order by子句中使用patindex()函数

order by patindex('%[a-z]%', col), ?;

但是,? 指定表数据排序的实际 col

关于sql - 首先对表中的数据进行数字排序,然后对字符串进行排序(不带 asc 或 desc),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49891823/

相关文章:

以表名为参数且查询长度超过 4000 个字符的 SQL

sql-server - 不在 SQL Server 中使用链接服务器的原因?

sql-server - SQL Server 中的拆分触发器

sql-server - 选择并更新; SQL服务器

java - 无法从 Android 连接到 SQL 服务器

sql-server - 是否可以构造此 sql 更新查询而不将其包装在游标中?

mysql - 不同且唯一的列值的总和

java - 具有 ON DUPLICATE KEY UPDATE 的插入查询的 Statement 类中的executeUpdate(String sql) 方法

SQL - 我是否应该使用联结表?

sql - 为什么 postgres 表中的 xmax 系统列对于未删除的行不为零?