我需要從Delphi XE2下的現有Padadox數據庫提取數據(是的,我將它們分成了10多年)。由包含數字和字母的字段排序
我需要根據包含如'1','2 a','100','1b','50 bis'等值的字段(示例中的id)對結果進行排序...而得到這個:
- 1
- 1 b
- 2 a
- 50 bis
- 100
也許類似的東西可以做到這一點,但這些關鍵字不存在:
SELECT id, TRIM(TRIM(ALPHA FROM id)) as generated, TRIM(TRIM(NUMBER FROM id)) as generatedbis, etc
FROM "my.db"
WHERE ...
ORDER BY generated, generatedbis
我怎麼能取得這樣的排序與矛盾...?
SELECT id,CAST(id AS INTEGER)...更簡單,並且做到了!謝謝你的啓發! – Darkendorf 2012-04-05 15:35:32
是的,它更簡單。我的想法是,'0'+'將處理'id'爲空或第一個字符爲Alpha的情況。顯然它不是必需的。很高興我能幫上忙。 – kobik 2012-04-05 15:50:50
很好想過^^事實上,如果第一個字符是阿爾法,投射爲int返回0 - 或null我真的不在乎 - 它是按我的需要訂購! a,b,1,1b,12,100 bis ...再次感謝! – Darkendorf 2012-04-05 15:54:24