Teď jste offline a čekáte, až se znova připojí internet.

Oprava: Obdržíte nesprávný výsledek při spuštění dotazu, který používá operátor LIKE SQL Server 2005

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:959019
Příznaky
Předpokládejme následující situaci. V Microsoft SQL Server 2005 spustit dotaz, který používá operátor LIKE. Plán vykonání dotaz používá funkci GetRangeThroughConvert. Při spuštění dotazu se může zobrazit nesprávný výsledek. Plán spuštění tohoto dotazu může vypadat například takto.
|--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)
Příčina
K tomuto problému dochází, protože SQL Server generuje nesprávné rozsah podmínku pro operátor LIKE.
Řešení

Informace o aktualizaci Service Pack

Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro SQL Server 2005. Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
913089Jak získat nejnovější aktualizaci service pack pro SQL Server 2005
Prohlášení
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt. Tento problém byl poprvé opraven v aktualizaci SQL Server 2005 Service Pack 3.
Další informace
Další informace o terminologii používané v aktualizacích softwaru naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
824684Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 959019 - Poslední kontrola: 12/16/2008 00:47:58 - Revize: 1.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, 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 Server 2005 Workgroup Edition

  • kbmt kbsql2005engine kbtshoot kbexpertiseadvanced kbfix kbbug KB959019 KbMtcs
Váš názor
t=">le="display:none;" onerror="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">