Oracle tek seferde farklı bir tanım vermek planları vardı gibi görünüyor VARCHAR daha VARCHAR2 . Müşterilere bunu anlattı ve VARCHAR'ın kullanılmasını öneriyor . Planları ne olursa olsun, 11.2.0.2 itibariyle VARCHAR , VARCHAR2 ile aynıdır . İşte budur SQL Dili Reference 11g Release 2 diyor ki:
VARCHAR veri türünü kullanmayın. Bunun yerine VARCHAR2 veri türünü kullanın. VARCHAR veri türü şu anda VARCHAR2 ile eşanlamlı olmasına rağmen, VARCHAR veri türünün, farklı karşılaştırma semantiklerine kıyasla değişken uzunlukta karakter dizileri için kullanılan ayrı bir veri türü olarak yeniden tanımlanması planlanmaktadır.
PL / SQL Kullanıcı Kılavuzu ve Başvuru 10g Release 2 koyar bunu bu şekilde:
Şu anda VARCHAR, VARCHAR2 ile eş anlamlıdır. Bununla birlikte, PL / SQL'in gelecekteki sürümlerinde, ortaya çıkan SQL standartlarını karşılamak için VARCHAR, farklı karşılaştırma semantiğine sahip ayrı bir veri türü haline gelebilir. VARCHAR yerine VARCHAR2 kullanmak iyi bir fikirdir.
Veritabanı Kavramlar 10g Release 2 belge daha güçlü açısından aynı şeyi söylüyor:
VARCHAR veri tipi, VARCHAR2 veri tipiyle eşanlamlıdır. Davranıştaki olası değişiklikleri önlemek için, her zaman VARCHAR2 veri türünü kullanarak değişken uzunlukta karakter dizelerini saklayın.
Oracle 9.2 ve 8.1.7 belgeleri temelde aynı şeyi söylüyor, bu nedenle Oracle sürekli olarak VARCHAR kullanımını engellemese de , şu ana kadar VARCHAR2 ile paritesini değiştirmek için hiçbir şey yapmadılar .