Anterior Home Page Sumário E-Mail Próximo

Tipos de dados

Sintaxe

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

Regras

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.

Anterior Home Page Sumário E-Mail Próximo