Сравните строки как числа в SQLite3 - PullRequest
7 голосов
/ 17 ноября 2010

У меня следующий запрос в SQLite:

SELECT * FROM t1 ORDER BY t1.field

Где t1.field - текстовый столбец, содержащий цифры.Можно ли заставить SQLite рассматривать значения поля t1.field как числа вместо строк (без выполнения ALTER TABLE)?Прямо сейчас сортировка чисто строковая, поэтому 10 идет перед 2.

Спасибо.

1 Ответ

18 голосов
/ 17 ноября 2010

Ну, нашли решение:

SELECT * FROM t1 ORDER BY t1.field + 0

Часть + 0, кажется, вызывает преобразование в число

...