Acho que vi em algum lugar que há algum tipo de diferença semântica entre CHAR(n) FOR BIT DATA
e BINARY(n)
, mas não consigo localizar onde estava. Alguma indicação?
Estou perguntando porque tenho um monte de colunas definidas como CHAR(16) FOR BIT DATA
antes BINARY(16)
existiam, e pensando em migrá-las gradativamente para BINARY(16). Estou curioso para saber se há alguma circunstância em que a migração de um lado de um relacionamento fk antes do outro causará problemas.
A principal diferença que acredito está descrita no link Casting between data types (consulte a Tabela 1). Por exemplo, você não pode converter dados BINARY de/para muitos tipos de dados dos quais é possível converter CHAR FOR BIT DATA de/para. Portanto, é mais um problema de parte do aplicativo e deve-se verificar se seus aplicativos usam essa transmissão ou não.
Ou seja, se você, digamos, armazenar UUIDs como resultado da
GENERATE_QNIQUE ()
função retornandoCHAR (13) FOR BIT DATA
e usar esses valores como um argumento para aTIMESTAMP
função, será necessário reescrever seu código deTIMESTAMP (MY_BIT_COL)
paraTIMESTAMP (MY_BIT_COL :: CHAR (13) FOR BIT DATA)
.