tipo_de_dado :
tipo_cadeia_de_caracteres |
tipo_numérico_exato |
tipo_numérico_aproximado |
tipo_data_hora
tipo_cadeia_de_caracteres :
{ CHARACTER | CHAR } [ VARYING ] [ (tamanho) ] |
VARCHAR [ (tamanho) ] |
{ CHARACTER | CHAR } LARGE OBJECT [ (tamanho_longo) ] |
CLOB [ (tamanho_longo) ]
tipo_cadeia_binária_longa :
BINARY LARGE OBJECT [ (tamanho_longo) ] |
BLOB [ (tamanho_longo) ]
tamanho_longo :
tamanho |
tamanho K |
tamanho M |
tamanho G
tipo_numérico_exato :
INTEGER |
INT |
SMALLINT |
{ NUMERIC | DECIMAL | DEC } [ (precisão [ ,escala ] ) ]
tipo_numérico_aproximado :
DOUBLE [ PRECISION ] |
REAL |
FLOAT [ (precisão) ]
tipo_data_hora : DATETIME [qualificador_data_hora]
qualificador_data_hora : campo_data_hora TO campo_data_hora
campo_data_hora : YEAR | MONTH | DAY | HOUR | MINUTE | SECOND
Tamanho, precisão e escala são números inteiros.
CHAR é equivalente a CHARACTER. VARCHAR é equivalente a CHARACTER VARYING. CLOB é equivalente a CHARACTER LARGE OBJECT. BLOB é equivalente a BINARY LARGE OBJECT. INT é equivalente a INTEGER. DEC e NUMERIC são equivalentes a DECIMAL. DOUBLE é equivalente a DOUBLE PRECISION.
O tipo CHARACTER especifica o tipo de dados cadeia de caracteres de tamanho fixo. O campo tamanho especifica o tamanho da cadeia e deve estar entre 1 e 32760. Se for omitido, é igual a 1.
O tipo VARCHAR especifica o tipo de dados cadeia de caracteres de tamanho variável. O campo tamanho especifica o tamanho máximo da cadeia e deve estar entre 1 e 32760. Se for omitido, é igual a 1.
O tipo CLOB especifica o tipo de dados cadeia de caracteres de tamanho variável. O campo tamanho_longo especifica o tamanho da cadeia e deve estar entre 1 e 1023 (bytes, Kbytes, Mbytes ou Gbytes). Se for omitido, é igual a 1 byte.
O tipo BLOB especifica o tipo de dados cadeia binária de tamanho variável. O campo tamanho_longo especifica o tamanho da cadeia e deve estar entre 1 e 1023 (bytes, Kbytes, Mbytes ou Gbytes). Se for omitido, é igual a 1 byte.
O tipo INTEGER especifica os números inteiros entre -2147483648 e 2147483647.
O tipo SMALLINT especifica os números inteiros entre -32768 e 32767.
O tipo DECIMAL especifica valores decimais de representação exata e ponto fixo. O número total de dígitos é especificado pela precisão que pode variar entre 0 e 18 (se for omitida, é igual a 18). O número de dígitos fracionários é especificado pela escala e varia entre 0 e o valor da precisão. Se a escala for omitida, o número de dígitos fracionários é igual a zero.
Os tipos DOUBLE, REAL e FLOAT especificam valores decimais numéricos não exatos com ponto flutuante e número de dígitos binários igual a 56 para a DOUBLE PRECIOSION, 24 para o tipo real ou especificada pela precisão para o tipo FLOAT. O tipo FLOAT é equivalente ao tipo REAL se a precisão for omitida ou for menor ou igual a 24 e equivalente ao tipo DOUBLE se a precisão for maior que 24.
O tipo DATETIME especifica datas com uma precisão indicada pelo qualificador. O campo inicial do qualificador deve ser sempre maior que o final e indica uma precisão que inclui todos os campos entre eles. Se o qualificador_data_hora for omitido, é igual a YEAR TO SECOND.
Um campo_data_hora é restrito a uma determinada faixa de valores. O campo ano (YEAR) pode variar entre 9999 AC e 9999 DC. O campo mês (MONTH) varia entre 1 e 12. O valor de dia (DAY) está entre 1 e 31 e está sujeito aos valores do mês e ano para formar uma data correta. O campo hora (HOUR) varia entre 0 e 23 e os valores de minuto (MINUTE) e segundo (SECOND) variam entre 0 e 59.
A correspondencia entre os tipos do OpenBase e os tipos da SQL é apresentada na forma de uma tabela que se encontra na descrição do utilitário TSQL no capítulo Utilitários.