У меня есть столбец varchar со смешанными строками данных, целыми числами, десятичными числами, пустыми строками и нулевыми значениями. Я хотел бы отсортировать столбец так же, как в Excel, сначала отсортировать числа, а затем отсортировать строки. Например:
- 1
- 2
- 3
- 3,5
- 10
- 11
- 12
- алан
- боб
- 1022 * деревенщина *
- (пустой / пустой)
- (пустой / пустой)
Я пытался сделать что-то вроде 'ORDER BY my_column + 0', который сортирует числа правильно, но не по строкам. Я надеялся, что кто-то может знать эффективный способ сделать это.
Предложение MartinofD работает по большей части, и если я немного расширю его, я смогу получить именно то, что хочу:
ВЫБРАТЬ ОТ теста
СОРТИРОВАТЬ ПО
НЕДЕЙСТВИТЕЛЬНО ИЛИ А = '',
a <> '0' И a = 0,
а + 0,
а;
Довольно уродливо, хотя я не уверен, есть ли лучшие варианты.