我在一张表中有一个位置列表。第一个位置以“2”开始,以“8”结束,第二个位置以字母“A”开始,以“P”结束。最后,每个位置都有七个元素,如下所示:
SELECT Location FROM WAREHOUSE_LOCATIONS
Location |
---------|
2A-1 |
2A-2 |
2A-3 |
2A-4 |
2A-5 |
2A-6 |
2A-7 |
2B-1 |
2B-2 |
2B-3 |
2B-4 |
2B-5 |
2B-6 |
2B-7 |
2C-1 |
...
3A-1 |
...
4A-1 |
...
etc...我想像这样订购这些位置:
Location |
---------|
2A-1 |
2B-1 |
2C-1 |
2D-1 |
....
2P-1 |
2A-2 |
2B-2 |
2C-2 |
...
2P-2 |
2A-3 |
2B-3 |
2C-3 |我该怎么做呢?
发布于 2017-01-24 05:42:27
你可以这样做:
ORDER BY CAST(RIGHT(Location, LEN(Location) - CHARINDEX('-', Location)) AS INT),
LEFT(Location, CHARINDEX('-', Location) - 1)https://stackoverflow.com/questions/41816154
复制相似问题