By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0. 3798208 fiddles created (41230 in the last week).
CREATE FUNCTION GetStringCount(@strValue VARCHAR(MAX), @strCount VARCHAR(MAX))
RETURNS INT
AS
BEGIN
RETURN ISNULL((DATALENGTH(@strValue) -
DATALENGTH(REPLACE(@strValue COLLATE Latin1_General_CS_AS, @strCount, ''))) /
DATALENGTH(@strCount), 0);
END
✓
hidden batch(es)
CREATE TABLE example (
col VARCHAR(MAX)
);
INSERT INTO example VALUES
('Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.'),
('At vero eos et accusam et justo duo dolores et ea rebum.'),
('Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.'),
(NULL);
SELECT *, dbo.GetStringCount(col, 'a')
FROM example;
col
(No column name)
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
11
At vero eos et accusam et justo duo dolores et ea rebum.
3
Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.