2010-10-14 6 views
7

Quelle est la différence entre varchar et varchar2 dans SQL. S'il vous plaît expliquer en détail avec un bon exemple.Différence entre varchar et varchar2 dans SQL

+0

double possible de [Quelle est la différence entre varchar et varchar2?] (Http://stackoverflow.com/questions/1171196/what-is-the-difference-between-varchar-and-varchar2) – brandizzi

Répondre

10

Varchar2 est spécifique à Oracle.

Le comportement non-standard le plus significatif de varchar2 est qu'une chaîne vide ('') est identique à null. En standard SQL, null n'est pas identique à tout littéral de chaîne, pas même la chaîne vide.

+0

+1 Probablement utile de mentionner que dans Oracle, une condition testant si 'Field = ''' est toujours évaluée comme NULL (c'est-à-dire jamais vrai), même si 'Field' est '' (c'est-à-dire NULL). –

+0

@Mark: Merci, c'est un bon point. Alors qu'en SQL standard, 'Field = ''' peut être vrai. –

2

ils ont le même comportement, mais varchar2 est recommandé:

Actuellement VARCHAR se comporte exactement le même que VARCHAR2. Toutefois, ce type ne doit pas être utilisé car il est réservé pour un usage ultérieur.

Source

0

Leigh Riffel sur le DBA StackExchange donne la vue d'ensemble plus détaillée et précise que j'ai lu sur la différence entre VARCHAR et VARCHAR2: https://dba.stackexchange.com/a/1303

Questions connexes