AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'
Thema durchsuchen
Ansicht
Themen-Optionen

SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'

Ein Thema von PaulJr · begonnen am 16. Nov 2007 · letzter Beitrag vom 21. Nov 2007
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'

  Alt 17. Nov 2007, 06:41
Zitat von alzaimar:
select cast ('³as int) Ergibt '3'.

select charindex ('³','x123') Ergibt '4'.
Da denke ich das Aufgrund der eingestellten Collation/Charset (Ich glaube bim MS SQL Server müssten man nach Sortierung suchen) einfach die Hochstellung eines Zeichens für like-Abfragen, Sortierung etc. einfach als irrelevant ignoriert wird. Wenn man dies auch unterscheiden will müssten man u.U. den passenden entsprechende Sortierungnamen mit "xxx_bin" ausprobieren (Genauen Namen könnte ich erst Montags heraussuchen).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
PaulJr

Registriert seit: 9. Feb 2007
Ort: Stuttgart
66 Beiträge
 
#12

Re: SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'

  Alt 17. Nov 2007, 11:30
Also noch einmal für besseres Verständnis:

Konvertierung: Es handelt sich hier um ca. 300 SQL-Tabellen und unzähligen Spalten des Datentyps VARCHAR.

Es gilt verschiedene Sonderzeichen aufzuspüren und dann diese durch entsprechende Maßnahmen zu ersetzen.

Liefert ein Befehl, wie z.B. dieser:

SELECT KUNDEN FROM KUNDE WHERE KUNDEN LIKE '%³%'

eine Datenmenge zurück, wird angenommen, dass diese Spalte behandelt werden muss.

Es reicht schon, wenn ein Kunde ‘BLABLA300‘ heißt um ein falsches Ergebnis
zu bekommen (da er eine 3 enthält).

Natürlich es werden alle VARCHAR Felder in einer Tabelle auf einmal abgefragt.

Ich möchte hier also NICHT über meine Vorgehensweise Diskutieren sondern
viel mehr ein SQL-Befehl herausfinden, der genau diese Ergebnisse zurückliefet
die an dieser Stelle zu erwarten wären:

Ist in einer Spalte kein Sonderzeichen drin, wie z.B. dieser: '³' ,

dann sollte die Ergebnis-Datenmenge auch leer sein.


Viele Grüße
PaulJr
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#13

Re: SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'

  Alt 17. Nov 2007, 11:49
Hi,

in MSSQL hilft evtl. eine passende Collation direkt anzugeben:
SELECT KUNDEN FROM KUNDE WHERE KUNDEN LIKE '%³%'  collate sql_latin1_general_cp1_ci_as
Gruß
Norman
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#14

Re: SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'

  Alt 17. Nov 2007, 12:03
Wenn ich über den Query Analyzer auf eine MSSQL 2000 Datenbank zugreifen, ergibt bei mir der Befehl von Bernard
select cast ('³as int) die Fehlermeldung
Code:
Server: Msg 245, Level 16, State 1, Line 1
Syntax error converting the varchar value '³' to a column of data type int.
Es liegt also wohl nicht am Query Analyzer.
  Mit Zitat antworten Zitat
PaulJr

Registriert seit: 9. Feb 2007
Ort: Stuttgart
66 Beiträge
 
#15

Re: SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'

  Alt 17. Nov 2007, 12:16
Hallo Norman,

als ich bin echt beeindruckt und dazu sage ich nur:

Wha wha we wha

Wunderbar und DANKE !!!

Natürlich, dass ist die Lösung für mein Problem…

Viele Grüße und Danke auch an Bernhard und Soulies…

PaulJr.
  Mit Zitat antworten Zitat
PaulJr

Registriert seit: 9. Feb 2007
Ort: Stuttgart
66 Beiträge
 
#16

Re: SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'

  Alt 17. Nov 2007, 12:23
Hallo Jelly,

natürlich Query Analyzer ist und war hier unschuldig.

Im Übrigem dieses Befehl geht z.B. so:

SELECT CAST(SPALTE as Datentyp) FROM Tabelle

also z.B.:

SELECT CAST(BZL as VARCHAR) FROM BLZBANK

Viele Grüße

PaulJr.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#17

Re: SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'

  Alt 17. Nov 2007, 12:28
Zitat von PaulJr:
Im Übrigem dieses Befehl geht z.B. so:

SELECT CAST(SPALTE as Datentyp) FROM Tabelle
Was willst du mir damit sagen
  Mit Zitat antworten Zitat
PaulJr

Registriert seit: 9. Feb 2007
Ort: Stuttgart
66 Beiträge
 
#18

Re: SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'

  Alt 17. Nov 2007, 12:30
Sorry Jelly,

ich hab Dich falsch verstanden... vergieß es... (habe nicht genau nachgelesne... sorry)

Viele Grüße

PaulJr
  Mit Zitat antworten Zitat
PaulJr

Registriert seit: 9. Feb 2007
Ort: Stuttgart
66 Beiträge
 
#19

Re: SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'

  Alt 17. Nov 2007, 12:37
Also noch einmal, und diesmal hoffe ich ohne Schreibfehler:
__________________________________________________ __________


Hallo Norman,


also ich bin echt beeindruckt und dazu sage ich nur:


Wha wha we wha


Wunderbar und DANKE !!!


Natürlich, dass das die Lösung für mein Problem ist…!!!


Viele Grüße und Danke auch an Bernhard und Soulies…

PaulJr.
  Mit Zitat antworten Zitat
mashutu

Registriert seit: 15. Nov 2007
195 Beiträge
 
#20

Re: SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'

  Alt 17. Nov 2007, 15:17
Zitat von PaulJr:
SELECT * FROM … WHERE LIKE '%SONDERZEICHEN%'
[...]
Die Ergebnisse sind hier deswegen überraschend, da jeder Datensatz mit BLZ die eine „normale“ ‘3‘ enthält kommt als Ergebnis zurück (Das BLZ Feld ist vom Typ VARCHAR ).
Hmm, habe hier gerade kein MSSQL am Laufen (muesste das am Montag mal in der Firma testen.
Denke aber dass Du vermutlich keine Angabe bei der Sortierung gemacht hast, als Du die DB angelegt hast - oder eben eine Einstellung in der Sonderzeichen auf regulaere Zeichen gemappt werden.
Also é auf E und eben die ³ auf 3.
Daher tippe ich auf einen confg-fehler bei der Datenbank
utu

if it was hard to write it should be hard to read
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz