Eine kleine Herausforderung in einem Content-Projekt: Wie oft kommt eine Zeichenfolge in einem VARCHAR(max) vor? Dafür habe ich keine Standard-Funktion im SQL Server gefunden. Also muss man sich selbst helfen und sich die Frage selbst beantworten.
Wie oft kommt eine Zeichenfolge in einem VARCHAR(max) vor?
Mit Hilfe der CHARINDEX-Funktion kann man sich eine kleine T-SQL-Funktion bauen, mit der man sich das Ergebnis ermittelt.
CREATE FUNCTION dbo.charindexCounter(@search varchar(max), @source varchar(max)) RETURNS bigint AS BEGIN DECLARE @result as bigint set @result = 0 declare @pos as bigint set @pos = 0 set @pos = CHARINDEX(@search, @source, @pos) if @pos > 0 set @result = @result + 1 WHILE @pos > 0 BEGIN set @pos = CHARINDEX(@search, @source, @pos+1) if @pos > 0 set @result = @result + 1 END RETURN (@result) END
Die FUnktion hat sicher noch Verbesserungspotenzial. Verbesserungsvorschläge?
Veröffentlicht in: Software Entwicklung & Programmierung