SORU
15 EKİM 2008, ÇARŞAMBA


Neden Oracle 9i BOŞ olarak boş bir dize davranıyor?

Bunu ben de biliyorumyokNULL ama bana o kadar çok şey söylemek için bir şey yapmaz. '' düşünün ^em>nedenbu böyledir. SQL Özellikleri, '' NULL -- Aynı değil geçerli bir veri, diğeri de aynı bilgi olmadığına işaret ediyor. anladığım kadarıyla

Spekülasyon yapmak için çekinmeyin, ama lütfen, eğer durum buysa gösteriyor. Eğer bunun hakkında bilgisi olan Oracle kimsenin varsa, bu harika olurdu!

CEVAP
15 EKİM 2008, ÇARŞAMBA


Cevap Oracle çok çok yaşlı olduğunu düşünüyorum.

Arkadaki eski günler önce oradaydı bir standart SQL, Oracle yapılan tasarım kararı bu boş dizeleri VARCHAR/VARCHAR2 yazılarım oldu NULL ve bu sadece bir tane mantıklı NULL (ilişkisel teorisyenleri bu ayrım arasında veri olduğunu asla istendiğinde, veri nerede cevabı var ama değil bilinen kullanıcı, veri yeri yok cevap, vb. NULL duygusu) oluşturmaktadır.

SQL standart geldi ve NULL ve boş dize ayrı bir varlık olduğunu kabul etti o zaman, zaten iki eşdeğer sanmıştım kod vardı Oracle kullanıcıları vardı. Oracle temelde varolan kodu kırma, SQL standart ihlal veya sorgu işlevi, potansiyel olarak çok sayıda değiştirecek başlatma parametresi çeşit tanıtan seçenekleri ile kaldı. SQL standardı (IMHO) ihlal edilmiştir, bu üç seçenekten az yıkıcı.

Oracle var sol açık olasılığı VARCHAR veri türünü değiştirir bir sonraki sürüm için uygun bir SQL standart (bu yüzden herkes kullanır VARCHAR2 Oracle beri bu veri türü bir davranıştır garantili kalır, aynı ileri doğru gidiyor).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Austin Evans

    Austin Evans

    5 AĞUSTOS 2007
  • LiteralMSPaint

    LiteralMSPai

    27 EKİM 2010
  • THE RED DRAGON

    THE RED DRAG

    6 ŞUBAT 2009