Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Sql: Prüfen wie oft ein Zeichen in einem Feld vorkommt? (https://www.delphipraxis.net/66820-sql-pruefen-wie-oft-ein-zeichen-einem-feld-vorkommt.html)

sunnyandy 4. Apr 2006 21:07

Datenbank: MySql • Version: 4.1 • Zugriff über: Zeoslib

Sql: Prüfen wie oft ein Zeichen in einem Feld vorkommt?
 
Hallo,

sitze grad an einem Problem. Und zwar muss ich wissen, wie oft ein bestimmtes Zeichen in einem bestimmten Feld vorkommt.
Gibt es dafür überhaupt einen Sql Befehl?

Habe in meinen Büchern leider nichts finden können...Bin auf CNT gestoßen, aber damit zählt man ja nur die Anzahl der Spalten, die eine Bedingung erfüllen...

Für eure Hilfe wär ich euch dankbar!!

mkinzler 4. Apr 2006 21:12

Re: Sql: Prüfen wie oft ein Zeichen in einem Feld vorkommt?
 
Also z.B. das der Buchstaben l in 'Hallo' 2-mal vorkommt?
Ich kenn nur ältere Versionen von mysql.(Dort gings nicht). Wenn Mysql UDF unterstützt, könntest du eine schreiben, welche dir bestimmte Buchstaben zählt.

jensw_2000 4. Apr 2006 21:40

Re: Sql: Prüfen wie oft ein Zeichen in einem Feld vorkommt?
 
Hallo,

kleiner Auszug aus der Bei Google suchenMySQL Referenz....


Zitat:

LOCATE(teilzeichenfolge,zeichenkette), POSITION(teilzeichenfolge IN zeichenkette)

Gibt die Position des ersten Auftretens der Teilzeichenfolge teilzeichenfolge in der Zeichenkette zeichenkette an. Gibt 0 zurück, wenn teilzeichenfolge nicht in zeichenkette enthalten ist:


mysql> select LOCATE('bar', 'foobarbar');
-> 4
mysql> select LOCATE('xbar', 'foobar');
-> 0


Diese Funktion ist Multi-Byte-sicher.
Ich würde die Funktion wie folgt verwenden:

SQL-Code:
SELECT LOCATE(LOWER('<dein Zeichen>'),LOWER(<ein Feldname>)) FROM <eine Tabelle>




Schöne Grüße,
Jens
:hi:

TUX_der_Pinguin 27. Apr 2007 14:01

Re: Sql: Prüfen wie oft ein Zeichen in einem Feld vorkommt?
 
Das Posting ist zwar schon recht alt, aber ich habe grade das gleiche Problem des Thread Erstellers.
Ich will in einem VARCHAR Feld prüfen ob ein bestimmtes Zeichen öffters vorkommt.

Und LOCATE() gibt mir doch nur eine Position wieder und keine Anzahl das bringt doch irgendwie nix .. !?

omata 27. Apr 2007 20:01

Re: Sql: Prüfen wie oft ein Zeichen in einem Feld vorkommt?
 
Hallo,

Zitat:

Zitat von TUX_der_Pinguin
Ich will in einem VARCHAR Feld prüfen ob ein bestimmtes Zeichen öffters vorkommt.

ich nehm dich einfach mal wörtlich...
SQL-Code:
SELECT *
FROM tabelle
WHERE LOCATE('<Zeichen>', tabellen_spalte, LOCATE('<Zeichen>', tabellen_spalte)+1) > 0
Gruss
Thorsten

TUX_der_Pinguin 30. Apr 2007 10:52

Re: Sql: Prüfen wie oft ein Zeichen in einem Feld vorkommt?
 
Vielen dank omata, es hat geklappt was ich wollte. Hatte zu erst nicht kapiert wie das mit dem LOCATE() funktioniert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 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