Düzeltme: SQL Server 2005'te LIKE işlecini kullanan bir sorgu çalıştırdığınızda hatalı bir sonuç alıyorsunuz

Makale çevirileri Makale çevirileri
Makale numarası: 959019 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Şu senaryoyu inceleyin. Microsoft SQL Server 2005'te, LIKE işlecini kullanan bir sorgu çalıştırın. Sorgu yürütme planı GetRangeThroughConvert işlevini kullanır. Sorguyu çalıştırdığınızda, hatalı bir sonuç alabilirsiniz. Örneğin, bu sorgu için yürütme planı aşağıdakine benzer.
|--Nested Loops(Inner Join, OUTER REFERENCES:([Expr1010], [Expr1011], 
|[Expr1012])) 
|--Merge Interval 
| |--Concatenation 
| |--Compute Scalar(DEFINE:(([Expr1005],[Expr1006],[Expr1004])=GetRangeThroughConvert(N'P08.89',NULL,(22)))) 
| | |--Constant Scan 
| |--Compute Scalar(DEFINE:(([Expr1008],[Expr1009],[Expr1007])=GetRangeThroughConvert(NULL,N'P08.8?',(10)))) 
| |--Constant Scan 
|--Index Seek(OBJECT:([TestLikeBug].[dbo].[Projects].[IX_Projects]), 
SEEK:( [TestLikeBug].[dbo].[Projects].[ProjectNumber] > [Expr1010] AND 
[TestLikeBug].[dbo].[Projects].[ProjectNumber] < [Expr1011]), 
WHERE:(CONVERT_IMPLICIT(nvarchar(12),[TestLikeBug].[dbo].[Projects].[ProjectNumber],0) like N'P08.89%') 
ORDERED FORWARD)

Neden

Bu sorun, SQL Server bir LIKE işlecini yanlış bir aralık koşulunu oluşturduğundan oluşur.

Çözüm

Hizmet paketi bilgileri

Bu sorunu gidermek için <a0></a0>, SQL Server 2005 için en son hizmet paketini edinin. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
913089En son SQL Server 2005 hizmet paketi nasıl elde edilir

Durum

Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır. Bu sorun ilk olarak SQL Server 2005 Service Pack 3'te giderilmiştir.

Daha fazla bilgi

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:
824684Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Özellikler

Makale numarası: 959019 - Last Review: 16 Aralık 2008 Salı - Gözden geçirme: 1.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL 2005 Server Workgroup
Anahtar Kelimeler: 
kbmt kbsql2005engine kbtshoot kbexpertiseadvanced kbfix kbbug KB959019 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:959019

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