On Jul 12, 2005, at 1:16 AM, Joe wrote:
I have a MySQL database that I'm converting to PostgreSQL which has
10 columns with TINYINT type, i.e., a one-byte integer. Only one
of them qualifies as a true BOOLEAN. Two are entity identifiers
(for limited range "classes" or "categories") and three others are
"type"/code values. The last four are month numbers or day of
month numbers (not implemented as date types because the year is
separate and is part of the primary key).
I'm wondering what would be the best conversion choice for these
columns: smallint, numeric(1), char(1), something else? AFAICT,
the application does not directly do any arithmetic on these
columns, but the identifier and code types are used as indices into
PHP arrays. The month/day values are formatted into dates for
display (and the month also servers as an index into a month-name
array).
I would use smallint. While PHP might work fine with something else,
it seems like the closest match.
BTW, is TINYINT part of any SQL Standard?
From the pg docs:
SQL only specifies the integer types integer (or int) and smallint.
The type bigint, and the type names int2, int4, and int8 are
extensions, which are shared with various other SQL database systems.
John DeSoi, Ph.D.
http://pgedit.com/
Power Tools for PostgreSQL
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq