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

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

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

Спасибо!


person Amit Verma    schedule 10.11.2011    source источник


Ответы (3)


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

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

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

person serbaut    schedule 16.11.2011

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

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

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

person geoffrobinson    schedule 10.11.2011

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

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

person Joe    schedule 10.11.2011