Advertisement
SX514LEFV

psql getInitials

Apr 25th, 2025
615
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE FUNCTION getInitials(name VARCHAR)
  2.     RETURNS VARCHAR
  3.     AS $$
  4.     DECLARE
  5.     initials VARCHAR = '';
  6.     localName VARCHAR = name;
  7.     BEGIN
  8.     LOOP
  9.         initials = initials || SUBSTR(localName, 1, 1);
  10.         localName = SUBSTR(localName, STRPOS(localName, ' ')+1);
  11.         EXIT WHEN localName NOT LIKE '% %';
  12.     END LOOP;
  13.     IF localName NOT LIKE name THEN
  14.         initials = initials || SUBSTR(localName, 1, 1);
  15.     END IF;
  16.     RETURN initials;
  17. END
  18. $$ LANGUAGE plpgsql;
  19.  
  20. CREATE FUNCTION getInitialsWhile(name VARCHAR)
  21.     RETURNS VARCHAR
  22.     AS $$
  23.     DECLARE
  24.     initials VARCHAR = '';
  25.     BEGIN
  26.     WHILE name LIKE '% %' LOOP
  27.         initials = initials || SUBSTR(name, 1, 1);
  28.         name = SUBSTR(name, STRPOS(name, ' ')+1);
  29.     END LOOP;
  30.         initials = initials || SUBSTR(name, 1, 1);
  31.     RETURN initials;
  32. END
  33. $$ LANGUAGE plpgsql;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement