![]() |
MS-SQL-Server und ungewöhnliches Verhalten bei Like-Abfragen
Folgendes mir unerklärliches Verhalten stelle ich am MS-SQL-Server fest:
In der Tabelle mytable in der Spalte myCol (nvarchar) ist der Wert '010101'. Ich frage die Datenbank mit folgender Query ab: exec sp_executesql N'select * from mat where (m_matnr like @P1 )', N'@P1 nvarchar(50)', N'0101%Ѐ' (Ѐ = #$0400). Die Abfrage muss mittels exec sp_...-Ausgeführt werden da sonst die Unicode-Zeichen überhaupt nicht durchkommen (anderes "Feature" 8) von MS-SQL). Nach meinen Verständnis sollte doch der obige Datensatz nicht als Ergebnis geliefert werden, da das Zeichen #$0400 ja nicht im String '010101' vorhanden ist. Kommt er aber! :gruebel: Wird statt #$0400 z.B. E ('0101%E') verwendet, so kommt der Datensatz nicht zurück. :wiejetzt: |
Re: MS-SQL-Server und ungewöhnliches Verhalten bei Like-Abfr
Zitat MSSQL-OH:
Zitat:
Treffer? Gruß |
Re: MS-SQL-Server und ungewöhnliches Verhalten bei Like-Abfr
Hi Leuselator
der Test muß mit folgenden Daten durchgeführt werden (#$0400 zeigt kein besonderes Verhalten - mein Fehler): In der Tabelle mytable in der Spalte myCol (nvarchar) ist der Wert '010101È'. (E + #$0300) Ich frage die Datenbank mit folgender Query ab: exec sp_executesql N'select * from mat where (m_matnr like @P1 )', N'@P1 nvarchar(50)', N'0101%̀' (̀ = #$0300). Dann tritt der Fehler auf. Es sind scheinbar nur bestimmte Zeichen (z.B diese kombinierten Zeichen) von diesem "besonderen" Verhalten der Like-Abfrage betroffen. |
Re: MS-SQL-Server und ungewöhnliches Verhalten bei Like-Abfr
Problem konnte gelößt werden. Ist so vom MS-SQL-Server vorgesehen und kann unter
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz