The following bug has been logged on the website:
Bug reference: 12603
Logged by: Antonio Ruggiero
Email address: aruggiero@codarex.com
PostgreSQL version: 9.2.9
Operating system: Windows 7 SP1
Description:
Summary: A field is Integer but results ordered as if it is text.
/* START */
DROP TABLE IF EXISTS bug_test;
create table Bug_test (businessunit integer, businessunitname character
varying(15));
INSERT INTO bug_test VALUES (10,'North');
INSERT INTO bug_test VALUES (20,'NorthEast');
INSERT INTO bug_test VALUES (100,'East');
INSERT INTO bug_test VALUES (110,'SouthEast');
INSERT INTO bug_test VALUES (2000,'South');
INSERT INTO bug_test VALUES (2100,'SouthWest');
INSERT INTO bug_test VALUES (10000,'West');
INSERT INTO bug_test VALUES (10100,'NorthWest');
SELECT DISTINCT businessunit AS bu_id,
'('||businessunit::TEXT||')'||businessunitname as businessunit FROM bug_test
ORDER BY businessunit;
/* Output */
/* --Notice results ordered as if businessunit is TEXT--
bu_id, businessunit
integer, text
10;'(10)North'
100;'(100)East'
10000;'(10000)West'
10100;'(10100)NorthWest'
110;'(110)SouthEast'
20;'(20)NorthEast'
2000;'(2000)South'
2100;'(2100)SouthWest'
*/
SELECT DISTINCT businessunit AS bu_id,
'('||businessunit::TEXT||')'||businessunitname as businessunit FROM bug_test
ORDER BY 1;
/* Output */
/* --Notice results ordered as if businessunit is INTEGER--
bu_id, businessunit
integer, text
10;'(10)North'
20;'(20)NorthEast'
100;'(100)East'
110;'(110)SouthEast'
2000;'(2000)South'
2100;'(2100)SouthWest'
10000;'(10000)West'
10100;'(10100)NorthWest'
*/
DROP TABLE IF EXISTS bug_test;
/* END */