create table dattyp (
without_dt,
dt_int integer,
dt_text text)
The first column (without_dt
) does not have an associated datatype with it,
the second and third columns do: integer
and text
, respectively.
Let's fill the table with some values:
insert into dattyp values ( 2, 2, 2)
insert into dattyp values ( 9, 9, 9)
insert into dattyp values (19, 19, 19)
Check the sorting behavior: is it dependent on the datatype?
select without_dt from dattyp order by without_dt
2
9
19
select dt_int from dattyp order by dt_int
2
9
19
select dt_text from dattyp order by dt_text
19
2
9
Columns without explicit datatypes and integer
columns are sorted numerically, while the text
column is sorted alphanumerically.
Strings that can be converted to integers are inserted:
insert into dattyp values ('28', '28', '28')
Same sort check as above:
select without_dt from dattyp order by without_dt
2
9
19
28
select dt_int from dattyp order by dt_int
2
9
19
28
select dt_text from dattyp order by dt_text
19
2
28
9
The sorting behavior didn't change.
Inserting strings that cannot be converted to an integer
. Note that the strings can be inserted to the integer
column as well:
insert into dattyp values ('foo', 'bar', 'baz')
Again the same selects:
select without_dt from dattyp order by without_dt
2
9
19
28
foo
select dt_int from dattyp order by dt_int
2
9
19
28
bar
select dt_text from dattyp order by dt_text
19
2
28
9
baz
A complete python script is
in this github file
No comments:
Post a Comment