按年份排序为 nvarchar,然后按数字排序
Sort by year as nvarchar and then numerically
我有一个 nvarchar
列,本质上存储以下数据:
20-198
99-135
19-135
20-197
20-195
99-435
前两个数字代表创建年份,最后一个数字代表当年制造的单元ID。每当我排序时,我首先得到 99,最后得到 19。我想先按最近年份排序,然后再按数字排序。
我已经尝试转换为 datetime
并使用子字符串,但我无法创建有效的查询,而且我不确定从这里到哪里去。
如有任何帮助,我们将不胜感激!
您可以在 order by
:
中使用条件逻辑
order by (case when col <= '21' then 1 else 2 end),
col desc
我有一个 nvarchar
列,本质上存储以下数据:
20-198
99-135
19-135
20-197
20-195
99-435
前两个数字代表创建年份,最后一个数字代表当年制造的单元ID。每当我排序时,我首先得到 99,最后得到 19。我想先按最近年份排序,然后再按数字排序。
我已经尝试转换为 datetime
并使用子字符串,但我无法创建有效的查询,而且我不确定从这里到哪里去。
如有任何帮助,我们将不胜感激!
您可以在 order by
:
order by (case when col <= '21' then 1 else 2 end),
col desc