我有一个专栏" event_number" in" event"表。 " event_number" column实际上是mysql中的varchar列。
我想根据" event_number"对数据进行排序使用HQL查询。 (休眠)。
例如数据是
event_number
1
2
M-2
4
5
K-C
6
7
8
9
10
11
TY-C
输出应为:
event_number
1
2
4
5
6
7
8
9
10
11
K-C
M-2
TY-C
或 输出应为:
event_number
K-C
M-2
TY-C
1
2
4
5
6
7
8
9
10
11
我使用过HQL查询:
select
event.eventNumber
from
event
order by
event.eventNumber asc;
我得到了结果:
event_number
1
10
11
2
4
5
6
7
8
9
K-C
M-2
TY-C
答案 0 :(得分:4)
这将有效
select
event.eventNumber
from
event
order by
cast(event.eventNumber as integer), event.eventNumber asc
“cast(event.eventNumber as integer)”仅对整数值进行排序。
“cast(event.eventNumber as integer),event.eventNumber asc”对整数和字符串值进行排序
答案 1 :(得分:1)
你可以试试这个
select cast(event.eventNumber as integer) from event order by event.eventNumber asc;