Aanmelden met Microsoft
Meld u aan of maak een account.
Hallo,
Selecteer een ander account.
U hebt meerdere accounts
Kies het account waarmee u zich wilt aanmelden.

Microsoft distribueert Microsoft SQL Server 2008 R2 Service Pack 1 (SP1)-oplossingen als één downloadbaar bestand. Aangezien de fixes cumulatief zijn, bevat elke nieuwe release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2008 R2 Service Pack 1 (SP1).

Symptomen

Neem het volgende scenario:

  • U hebt een kolom Time offset -gegevenstype in een tabel in Microsoft sql server 2008 R2 of in Microsoft sql server 2012.

  • U maakt een index voor de kolom datetimeoffset .

  • U kunt het gegevenstype Time offset niet converteren naar een smalldatetime -gegevenstype met de functie cast of converteren zonder het argument Style of als de waarde van het argument stijl0is.

  • Het resultaat van de functie cast of Convert wordt gebruikt in een filter in een Transact-SQL-query.

  • U voert de Transact-SQL-query uit.

In dit scenario is het resultaat van de query onjuist omdat het filter niet goed werkt. Stel dat de kolom date time date met de naam ' datum ' bijvoorbeeld de volgende waarden bevat:

  • 2011-05-21 23:00:00 -01:00

  • 2011-05-21 23:00:00 +00:00

  • 2011-05-21 23:00:00 +01:00

Voer de volgende query uit:

SELECT Date FROM TestTable WHERE CAST(Date AS smalldatetime)= '2011-05-21 23:00:00'

Het resultaat van de query geeft slechts één rij als resultaat. Het verwachte resultaat moet echter wel rijen voor alle drie de waarden retourneren.

Oplossing

Cumulatieve updategegevens

SQL Server 2012

De oplossing voor dit probleem werd voor het eerst uitgebracht in de cumulatieve update 3 voor SQL Server 2012. Klik voor meer informatie over dit cumulatieve updatepakket op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:

2723749 Cumulatief updatepakket 3 voor SQL Server 2012Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2012 fix. Microsoft raadt u aan dat u de meest recente reparatie versie met deze hotfix toepast. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:

2692828 De versies van SQL Server 2012 die zijn uitgebracht na de release van SQL Server 2012 U moet een hotfix voor SQL Server 2012 toepassen op een installatie van SQL Server 2012.

SQL Server 2008 R2 Service Pack 2

De oplossing voor dit probleem werd voor het eerst uitgebracht in de cumulatieve update 1 voor SQL Server 2008 R2 Service Pack 2. Als u meer informatie wilt over het verkrijgen van dit cumulatieve updatepakket, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:

2720425 Cumulatief update pakket 1 voor SQL Server 2008 R2 Service Pack 2Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2008 R2 correctie. U wordt aangeraden om de meest recente correctie voor deze hotfix toe te passen. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:

2730301 De SQL Server 2008 R2-builds die zijn uitgebracht na SQL Server 2008 R2 Service Pack 2 is uitgebracht

SQL Server 2008 R2 SP1

De oplossing voor dit probleem werd voor het eerst uitgebracht in cumulatieve update 7. Als u meer informatie wilt over het verkrijgen van dit cumulatieve updatepakket voor SQL Server 2008 R2 Service Pack 1, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:

2703282 Cumulatief updatepakket 7 voor SQL Server 2008 R2 SP1Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige SQL Server 2008 R2 Service Pack 1 fix release. U wordt aangeraden om de meest recente correctie voor deze hotfix toe te passen. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:

2567616 De SQL Server 2008 R2-builds die zijn uitgebracht na de release van SQL Server 2008 R2 SP1

Meer informatie

Voer de volgende stappen uit om het probleem te reproduceren:

  1. Voer de volgende query uit om een tabel te maken met een date time kolom en om bepaalde records in te voegen:CREATE TABLE #TestTimeZones (dto datetimeoffset(0)); GO INSERT INTO #TestTimeZones(dto) VALUES ('2011-05-21 23:00:00 -01:00'), ('2011-05-21 23:00:00 +00:00'), ('2011-05-21 23:00:00 +01:00'); GO

  2. Voer de volgende query uit en u ziet dat alle drie waarden correct worden weergegeven in het resultaat resultaat:DECLARE @t smalldatetime = '2011-05-21 23:00:00' SELECT dto AS withoutIndex FROM #TestTimeZones WHERE CAST(dto AS smalldatetime)=@t;

  3. Voer de volgende query uit om een index te maken van de kolom ' DTO ' en om dezelfde query te herhalen:CREATE INDEX IX_testTimeZones_Dto ON #TestTimeZones(dto); GO -- Repeat the same query DECLARE @t smalldatetime = '2011-05-21 23:00:00' SELECT dto AS withIndex FROM #TestTimeZones WHERE CAST(dto A smalldatetime)=@t; GO

  4. Voer de query opnieuw uit in stap 2. Deze keer geeft de query slechts één rij als resultaat.

  5. Voer de volgende query uit om de index en de tabel die u hebt gemaakt, te verwijderen:DROP INDEX IX_testTimeZones_Dto ON #TestTimeZones; GO DROP TALBE #TestTimeZones; GO

Verwijzingen

Ga naar de volgende MSDN-website voor meer informatie over de functies CAST en converteren:

Algemene informatie over de functies CAST en converteren in SQL Server

Status

Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?
Als u op Verzenden klikt, wordt uw feedback gebruikt om producten en services van Microsoft te verbeteren. Uw IT-beheerder kan deze gegevens verzamelen. Privacyverklaring.

Hartelijk dank voor uw feedback.

×