Как заказать по столбцу varchar численно в базе данных vertica? - PullRequest
1 голос
/ 10 ноября 2011

Как упорядочить по столбцу varchar численно в базе данных vertica?

Например, мы можем добавить +0 в предложении order by в oracle, чтобы отсортировать столбец varchar численно.

Спасибо!

Ответы [ 3 ]

2 голосов
/ 16 ноября 2011

Используйте приведение как в

select x from foo order by cast(x as int);

Вы получите ошибку, если не все значения могут быть преобразованы в int.

0 голосов
/ 10 ноября 2011

Если данные являются действительно числовыми данными, «+0» выполнит преобразование, как вы просили, но если есть какие-либо значения, которые не могут быть преобразованы, запрос выдаст ошибку, подобную следующей:

ОШИБКА: не удалось преобразовать "200 ... что-то" из столбца table_name.column_name в число

0 голосов
/ 10 ноября 2011

Я не делал этого раньше в Vertica, но мой совет такой же для этой проблемы. Попробуйте выяснить, как это делает PostgreSQL, и попробуйте это, поскольку Vertica использует множество функций PostgreSQL.

Я только что сделал быстрый поиск и нашел это как возможное решение: http://archives.postgresql.org/pgsql-general/2002-01/msg01057.php

Более тщательный поиск может дать вам лучшие ответы.

...