Function |
Informix 7.30C1 | PostgreSQL 6.5 |
Crash-me information |
crash me safe |  |  |
crash me version | 1.19a | 1.32 |
crash-me tested on | Windows NT Version 4.0 | Linux 2.2.10 i686 |
ANSI SQL 92 types |
| Informix | PostgreSQL |
Type bit |  |  |
Type bit(1 arg) |  |  |
Type bit varying(1 arg) |  |  |
Type char(1 arg) |  |  |
Type char varying(1 arg) |  |  |
Type character(1 arg) |  |  |
Type character varying(1 arg) |  |  |
Type date |  |  |
Type dec(2 arg) |  |  |
Type decimal(2 arg) |  |  |
Type double precision |  |  |
Type float |  |  |
Type float(1 arg) |  |  |
Type int |  |  |
Type integer |  |  |
Type interval day to second | |  |
Type interval year |  |  |
Type interval year to month | |  |
Type national char varying(1 arg) | |  |
Type national character(1 arg) | |  |
Type national character varying(1 arg) | |  |
Type nchar(1 arg) |  |  |
Type numeric(2 arg) |  |  |
Type real |  |  |
Type smallint |  |  |
Type time |  |  |
Type timestamp |  |  |
Type timestamp with time zone | |  |
Type varchar(1 arg) |  |  |
ODBC 3.0 types |
| Informix | PostgreSQL |
Type bigint |  |  |
Type binary(1 arg) |  |  |
Type datetime |  |  |
Type tinyint |  |  |
Type varbinary(1 arg) |  |  |
Other types |
| Informix | PostgreSQL |
Type abstime |  |  |
Type bfile |  |  |
Type blob |  |  |
Type bool |  |  |
Type box |  |  |
Type byte |  |  |
Type char(1 arg) binary |  |  |
Type char16 |  | |
Type char2 |  | |
Type char4 |  | |
Type char8 |  | |
Type circle |  |  |
Type clob |  |  |
Type datetime |  |  |
Type double |  |  |
Type enum(1 arg) |  |  |
Type float(1 arg) |  |  |
Type float4 |  |  |
Type float8 |  |  |
Type image |  |  |
Type int(1 arg) zerofill |  |  |
Type int1 |  |  |
Type int2 |  |  |
Type int3 |  |  |
Type int4 |  |  |
Type int8 |  |  |
Type int not null auto_increment |  |  |
Type int unsigned | |  |
Type interval | |  |
Type line |  |  |
Type long |  |  |
Type long raw |  |  |
Type long varbinary |  |  |
Type long varchar(1 arg) |  |  |
Type lseg |  |  |
Type mediumint |  |  |
Type mediumtext |  |  |
Type middleint |  |  |
Type mlslabel |  |  |
Type money |  |  |
Type nclob |  |  |
Type number |  |  |
Type number(1 arg) |  |  |
Type number(2 arg) | |  |
Type nvarchar(2 arg) |  | |
Type nvarchar2(1 arg) |  |  |
Type path |  |  |
Type point |  |  |
Type polygon |  |  |
Type raw(1 arg) |  |  |
Type reltime |  |  |
Type rowid |  |  |
Type serial |  |  |
Type set(1 arg) |  |  |
Type smalldatetime |  |  |
Type smallfloat |  |  |
Type smallmoney |  |  |
Type text |  |  |
Type text(1 arg) |  |  |
Type timespan |  |  |
Type uint | |  |
Type varchar2(1 arg) |  |  |
Type year |  |  |
Constraints |
| Informix | PostgreSQL |
foreign keys |  |  |
foreign key syntax |  |  |
ANSI SQL 92 functions |
| Informix | PostgreSQL |
Function +, -, * and / |  |  |
Function BIT_LENGTH |  |  |
Function CASE |  |  |
Function CAST |  |  |
Function CHAR_LENGTH |  | |
Function CHARACTER_LENGTH |  |  |
Function concatenation with || |  |  |
Function CURRENT_DATE |  |  |
Function CURRENT_DATE() |  |  |
Function CURRENT_TIME |  |  |
Function CURRENT_TIME() |  |  |
Function CURRENT_TIMESTAMP |  |  |
Function CURRENT_TIMESTAMP() |  |  |
Function LOWER |  |  |
Function OCTET_LENGTH |  |  |
Function POSITION |  |  |
Function SESSION_USER |  |  |
Function ANSI SQL SUBSTRING |  |  |
Function SYSTEM_USER |  |  |
Function TRIM |  |  |
Function UPPER |  |  |
ODBC 3.0 functions |
| Informix | PostgreSQL |
Function ABS |  |  |
Function ACOS |  |  |
Function ASCII |  |  |
Function ASIN |  |  |
Function ATAN |  |  |
Function ATAN2 |  |  |
Function CEILING |  |  |
Function CHAR |  |  |
Function CONCAT(2 arg) |  |  |
Function COS |  |  |
Function COT |  |  |
Function CURDATE |  |  |
Function CURTIME |  |  |
Function DATABASE |  |  |
Function DAYNAME |  |  |
Function DAYOFMONTH |  |  |
Function DAYOFWEEK |  |  |
Function DAYOFYEAR |  |  |
Function DEGREES |  |  |
Function DIFFERENCE() |  |  |
Function EXP |  |  |
Function EXTRACT |  |  |
Function FLOOR |  |  |
Function ODBC syntax LEFT & RIGHT |  |  |
Function HOUR |  |  |
Function ANSI HOUR |  |  |
Function IFNULL |  |  |
Function INSERT |  |  |
Function LCASE |  |  |
Function LEFT |  |  |
Function REAL LENGTH |  |  |
Function ODBC LENGTH |  |  |
Function LOCATE(2 arg) |  |  |
Function LOCATE(3 arg) |  |  |
Function LOG |  |  |
Function LOG10 |  |  |
Function LTRIM |  |  |
Function MINUTE |  |  |
Function MOD |  |  |
Function MONTH |  |  |
Function MONTHNAME |  |  |
Function NOW |  |  |
Function PI |  |  |
Function POWER |  |  |
Function QUARTER |  |  |
Function RADIANS |  |  |
Function RAND |  |  |
Function REPEAT |  |  |
Function REPLACE |  |  |
Function RIGHT |  |  |
Function ROUND(2 arg) |  |  |
Function RTRIM |  |  |
Function SECOND |  |  |
Function SIGN |  |  |
Function SIN |  |  |
Function SOUNDEX |  |  |
Function SPACE |  |  |
Function SQRT |  |  |
Function ODBC SUBSTRING |  |  |
Function TAN |  |  |
Function TIMESTAMPADD |  |  |
Function TIMESTAMPDIFF |  |  |
Function TRUNCATE |  |  |
Function UCASE |  |  |
Function USER |  | |
Function USER() |  |  |
Function WEEK |  |  |
Function YEAR |  |  |
Other functions |
| Informix | PostgreSQL |
Function NOT as '!' in SELECT |  |  |
Function MOD as % |  |  |
Function & (bitwise and) |  |  |
Function AND as '&&' |  |  |
Function <> in SELECT |  |  |
Function = |  |  |
Function ADD_MONTHS |  |  |
Function AND and OR in SELECT |  |  |
Function ATN2 |  |  |
Function automatic num->string convert |  |  |
Function automatic string->num convert |  |  |
Function BETWEEN in SELECT |  |  |
Function << and >> (bitwise shifts) |  |  |
Function BIT_COUNT |  |  |
Function CEIL |  |  |
Function CHARINDEX |  |  |
Function CHR |  |  |
Function COALESCE | |  |
Function concatenation with + |  |  |
Function CONCAT(list) |  |  |
Function CONVERT |  |  |
Function COSH |  |  |
Function DATE_FORMAT |  |  |
Function DATEADD |  |  |
Function DATEDIFF |  |  |
Function DATENAME |  |  |
Function DATEPART |  |  |
Function ELT |  |  |
Function ENCRYPT |  |  |
Function FIELD |  |  |
Function FORMAT |  |  |
Function FROM_DAYS |  |  |
Function FROM_UNIXTIME |  |  |
Function GETDATE |  |  |
Function GREATEST |  |  |
Function IF |  |  |
Function IN on numbers in SELECT |  |  |
Function IN on strings in SELECT |  |  |
Function INITCAP |  |  |
Function LOCATE as INSTR |  |  |
Function INSTR (Oracle syntax) | |  |
Function INSTRB |  |  |
Function INTERVAL |  |  |
Function LAST_DAY |  |  |
Function LAST_INSERT_ID |  |  |
Function LEAST |  |  |
Function LENGTHB |  |  |
Function LIKE in SELECT |  |  |
Function LIKE ESCAPE in SELECT |  |  |
Function LN |  |  |
Function LOG(m,n) |  |  |
Function LOGN |  |  |
Function LPAD |  |  |
Function MAX on numbers |  | |
Function MDY |  |  |
Function SUBSTRING as MID |  |  |
Function MIN on numbers |  | |
Function MONTHS_BETWEEN |  |  |
Function NOT in SELECT |  |  |
Function NOT BETWEEN in SELECT |  |  |
Function NOT LIKE in SELECT |  |  |
Function ODBC CONVERT |  |  |
Function PASSWORD |  |  |
Function PATINDEX |  |  |
Function PERIOD_ADD |  |  |
Function PERIOD_DIFF |  |  |
Function POW |  |  |
Function RANGE |  |  |
Function REGEXP in SELECT |  |  |
Function REPLICATE |  |  |
Function REVERSE |  |  |
Function ROOT |  |  |
Function ROUND(1 arg) |  |  |
Function RPAD |  |  |
Function SEC_TO_TIME |  |  |
Function SINH |  |  |
Function STR |  |  |
Function STRCMP |  |  |
Function STUFF |  |  |
Function SUBSTRB |  |  |
Function SUBSTRING_INDEX |  |  |
Function SYSDATE |  |  |
Function TANH |  |  |
Function TIME_TO_SEC |  |  |
Function TO_DAYS |  |  |
Function TRANSLATE |  |  |
Function TRIM; Many char extension |  |  |
Function TRIM; Substring extension |  |  |
Function TRUNC |  |  |
Function UID |  |  |
Function UNIX_TIMESTAMP |  |  |
Function USERENV |  |  |
Function VERSION |  |  |
Function WEEKDAY |  |  |
Function | (bitwise or) |  |  |
Function OR as '||' |  |  |
Functions in WHERE |
| Informix | PostgreSQL |
Function BETWEEN |  |  |
Function = ALL |  |  |
Function = ANY |  |  |
Function = SOME |  |  |
Function EXISTS |  |  |
Function IN on numbers |  |  |
Function LIKE |  |  |
Function LIKE ESCAPE |  |  |
Function MATCH |  |  |
Function MATCH UNIQUE |  |  |
Function MATCHES |  |  |
Function NOT BETWEEN |  |  |
Function NOT EXISTS |  |  |
Function NOT LIKE |  |  |
Function NOT UNIQUE |  |  |
Function UNIQUE |  |  |
ANSI SQL 92 group functions |
| Informix | PostgreSQL |
Group function AVG |  |  |
Group function COUNT (*) |  |  |
Group function COUNT column name |  |  |
Group function COUNT DISTINCT column name |  |  |
Group function MAX on numbers |  |  |
Group function MAX on strings |  |  |
Group function MIN on numbers |  |  |
Group function MIN on strings |  |  |
Group function SUM |  |  |
Other group functions |
| Informix | PostgreSQL |
Group function BIT_AND |  |  |
Group function BIT_OR |  |  |
Group function COUNT(DISTINCT expr,expr,...) | |  |
Group function STD |  |  |
Group function STDDEV |  |  |
Group function VARIANCE |  |  |
Function use |
| Informix | PostgreSQL |
update of column= -column |  |  |
column LIKE column |  |  |
LIKE on numbers |  |  |
Calculate 1--1 |  |  |
Is 'a' || NULL = NULL |  |  |
Is 1+NULL = NULL |  |  |
Order by and group by |
| Informix | PostgreSQL |
number of columns in group by | | +64 |
number of columns in order by | | +64 |
Group by |  |  |
Group by alias |  |  |
Test nulls in group by |  |  |
Group by position |  |  |
Having |  |  |
Having on alias |  |  |
Having with group function |  |  |
Order by |  |  |
Order by alias |  |  |
Order by function | |  |
Order by position |  |  |
Order by DESC is remembered | |  |
Join methods |
| Informix | PostgreSQL |
cross join (same as from a,b) |  |  |
full outer join |  |  |
tables in join | +64 | +64 |
left outer join |  |  |
left outer join using |  |  |
DELETE FROM table1,table2... |  |  |
Update with many tables |  |  |
natural join |  |  |
natural left outer join |  |  |
left outer join odbc style |  |  |
recursive subqueries | 10 | 25 |
right outer join |  |  |
Update with sub select |  |  |
ANSI SQL simple joins |  |  |
subqueries |  |  |
String handling |
| Informix | PostgreSQL |
case insensitive compare |  |  |
String functions on date columns |  | |
Double '' as ' in strings |  |  |
ignore end space in compare |  |  |
insert empty string |  |  |
Multiple line strings |  |  |
Allows ' and " as string markers |  |  |
Remembers end space in char() |  |  |
Remembers end space in varchar() |  |  |
Select constants |  |  |
constant string size in SELECT | 256 | 16373 |
constant string size in where | 32452 | 8104 |
Quoting |
| Informix | PostgreSQL |
Name limits |
| Informix | PostgreSQL |
Alter table rename table |  |  |
different namespace for index |  |  |
column name length | 18 | 227 |
index name length | 18 | +512 |
select alias name length | 18 | +512 |
table alias name length | 18 | +512 |
table name length | 18 | +512 |
case independent table names | |  |
Index limits |
| Informix | PostgreSQL |
create index |  |  |
drop index |  |  |
index in create table |  |  |
index on column part (extension) |  |  |
max index | +64 | +64 |
index length | 255 | 8104 |
max index part length | 255 | 8104 |
index parts | 15 | 7 |
index varchar part length | 254 | 8100 |
unique indexes | +64 | +64 |
Tables without primary key |  |  |
null in index |  |  |
null in unique |  |  |
primary key in create table |  |  |
unique in create table |  |  |
unique null in create |  |  |
Type limits |
| Informix | PostgreSQL |
atomic updates |  |  |
binary items (0x41) |  |  |
char are space filled |  |  |
Supports YY-MM-DD dates |  |  |
Supports 0000-00-00 dates |  |  |
mixing of integer and float in expression |  |  |
max char() size | 256 | 8104 |
max text or blob size | | 8104 |
max varchar() size | 255 | 8100 |
Expression limits |
| Informix | PostgreSQL |
big expressions | 1 | 1 |
OR and AND in WHERE | 1204 | 7 |
simple expressions | 16372 | 8187 |
stacked expressions | 47 | 3331 |
SELECT with LIMIT | |  |
SELECT with LIMIT #,# | |  |
Comments |
| Informix | PostgreSQL |
# as comment |  |  |
-- as comment |  |  |
/* */ as comment |  |  |
Other features |
| Informix | PostgreSQL |
Alter table add column |  |  |
Alter table add many columns | |  |
Alter table alter column | |  |
Alter table change column |  |  |
Alter table drop column |  |  |
Alter table modify column |  |  |
Column alias |  |  |
Compute |  |  |
default value for column |  |  |
default value function for column | |  |
create table if not exists | |  |
create table from select | |  |
drop table if exists | |  |
allows end ';' | |  |
except |  |  |
except all |  |  |
insert INTO ... SELECT ... |  |  |
INSERT with set syntax | |  |
intersect |  |  |
intersect all |  |  |
lock table |  |  |
Value of logical operation (1=1) | not supported | 1 |
minus |  |  |
many tables to drop table |  |  |
Value lists in INSERT | |  |
Correct rounding when storing float values | |  |
Type for row id | | oid |
SELECT without FROM |  |  |
Table alias |  |  |
Select table_name.* |  |  |
temporary tables | |  |
transactions |  |  |
union |  |  |
union all |  |  |
views |  |  |
Other limits |
| Informix | PostgreSQL |
Simultaneous connections | 269 | 32 |
Columns in table | 994 | 1248 |
max table row length (without blobs) | 32356 | 7949 |
table row length with nulls (without blobs) | 32356 | 7949 |
query size | 32766 | 16382 |