Düzeltme: sql Server 2012 stili parametresi try_convert işlevini kullanan bir sorgu çalıştırdığınızda hatalı sonuç

Makale çevirileri Makale çevirileri
Makale numarası: 2778494 - Bu makalenin geçerli olduğu ürünleri görün.
Microsoft, Microsoft sql Server 2012 Service Pack 1 Düzeltme karşıdan yüklenebilen bir dosya dağıtır. Düzeltmeleri birikimli olduğu için her yeni sürüm tüm düzeltmeleri içerir ve sürüm önceki sql Server 2012 Service Pack 1 ile gelen tüm güvenlik düzeltmelerini düzeltin.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Microsoft sql Server 2012 stili parametresi try_convert işlevini kullanan bir sorgu çalıştırmak varsayalım. Bu durumda, sorgu hatalı bir sonuç döndürebilir ve stili parametresi gözardı edilebilir.

Çözüm

Toplu Güncelleştirme bilgileri

sql Server 2012 SP1 için toplu güncelleştirme 2

Bu sorunla ilgili düzeltme, ilk toplu güncelleştirme 2'de yayımlanmıştır. Bu toplu güncelleştirme paketi sql Server 2012 SP1'i elde etme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
2790947 sql Server 2012 Service Pack 1 için toplu güncelleştirme paketi 2
Not Yap?lar birikimli olduğu için her yeni düzeltme yayımlanan tüm düzeltmeleri içerir ve sürüm önceki sql Server 2012 SP1'de bulunan tüm güvenlik düzeltmelerini düzeltin. Bu düzeltmeyi içeren en son düzeltme sürümü uygulama ele almanızı öneririz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
2772858 sql Server 2012 sql Server 2012 Service Pack 1'de yayımlandıktan sonra yayımlanan oluşturur

Durum

Microsoft bunun, "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bir sorun olduğunu onaylamıştır.

Daha fazla bilgi

Bu sorunu yeniden oluşturmak için şu adımları izleyin:
  1. sql Server 2012 "Test" adında SP1'de bir tablo oluşturun ve tablosuna bir kayıt ekleme:
    CREATE TABLE TEST (I DATE);
    
    INSERT INTO TEST VALUES (GETDATE());

  2. Doğru bir sonuca dönmek için aşağıdaki sorgu çalıştırın:

    SELECT TOP 1 TRY_CONVERT(VARCHAR, TRY_CONVERT(DATE, '20121023'), 112) FROM TEST;
    
    SELECT CONVERT(VARCHAR, TRY_CONVERT(DATE, '20121023'), 112) FROM TEST;
    
    SELECT CONVERT(VARCHAR, CONVERT(DATE, '20121023'), 112) FROM TEST;
    
    SELECT TRY_CONVERT(VARCHAR, '20121023', 112) FROM TEST;
    
    --The returned result is "20121023".
  3. Daha sonra hatalı bir sonuç döndürmesi için aşağıdaki sorgular çalıştırın:

    SELECT TRY_CONVERT(VARCHAR, TRY_CONVERT(DATE, '20121023'), 112) FROM TEST;
    
    SELECT TRY_CONVERT(VARCHAR, CONVERT(DATE, '20121023'), 112) FROM TEST;
    
    --The returned result is "2012-10-23".
    
    

Referanslar

TRY_CONVERT(Transact-SQL) işlevi hakkında daha fazla bilgi için aşağıdaki msdn Web sitesine gidin:
TRY_CONVERT(Transact-SQL) işlevi hakkında genel bilgiler

sql Server için artımlı hizmet modeli daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
935897 sql Server ekibinden bildirilen sorunlar için düzeltmeler sunmak için artımlı bir hizmet modeli kullanılabilir
sql Server güncelleştirmelerinin adlandırma şeması hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
822499 Microsoft sql Server yazılım güncelleştirme paketleri için dosya adlandırma şeması
Yazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824684 Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Özellikler

Makale numarası: 2778494 - Last Review: 24 Ocak 2013 Perşembe - Gözden geçirme: 1.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2012 Service Pack 1
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2012 Express
Anahtar Kelimeler: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2778494 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 2778494

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com