From d440217a6ecc02ebed9a87a42dc6ce9f6ee58b13 Mon Sep 17 00:00:00 2001 From: Alex Zaw Date: Wed, 25 Feb 2026 23:02:27 +0000 Subject: [PATCH] Update Function TITLE_CASE --- CISTOOLS/Functions/TITLE_CASE.sql | 58 ++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/CISTOOLS/Functions/TITLE_CASE.sql b/CISTOOLS/Functions/TITLE_CASE.sql index ecb6892..565a5c2 100644 --- a/CISTOOLS/Functions/TITLE_CASE.sql +++ b/CISTOOLS/Functions/TITLE_CASE.sql @@ -1 +1,57 @@ -@@\@^@ % %@@@@Km@M@ %m@M]@@@]@ %@M]@@@@@ %@@ %@Km@ %@@ %@@@ %@@@@ %@@@@ %@@@@~@\@k@ %@~@\@k@ %@~@\@k@ %@~@\@k@ %@~@Mk@k@]@k@ %@~@\@k@ %@~@\@k@ %@~@\@k@ %@~@\@@@ %@ %@m@@M@@]@@}@}@^@ %@m@~@M@ %@@M@ %@k@}@}@]@@@M@@@m@]@ %@@M@ %@m@k@ %@M@@M@@k@@]@]@OO@@M@@k@@]@ %@@ %@@M@ %@K@@M@ %m@M@ %@M@ %@M@ %m@@@M@@]@ %@@]@]@k@}Nm`}@k@}@}@]@k@ %}@}@]@ %]@ %]@@ %@@Ln@}@}@]@^@ %@@M@m@]@^@ %@@^@ % %@@@@@Km@ %M@m@@}ɕ@⣙}@]@^@ % %@@@@Km@ %@}㉣@Á}@^@ % %@@k@@@@ %@@@Km@ %@@@@@^@ % %@@@@ %@@@Km@ %@@^@ % % \ No newline at end of file +SET PATH *LIBL ; + +CREATE OR REPLACE FUNCTION CISTOOLS.TITLE_CASE ( + INPUT_STRING VARCHAR(32000) CCSID 37 ) + RETURNS VARCHAR(32000) CCSID 37 + LANGUAGE SQL + SPECIFIC CISTOOLS.TITLE_CASE + NOT DETERMINISTIC + READS SQL DATA + CALLED ON NULL INPUT + CONCURRENT ACCESS RESOLUTION DEFAULT + SET OPTION ALWBLK = *ALLREAD , + ALWCPYDTA = *OPTIMIZE , + COMMIT = *NONE , + DBGVIEW = *SOURCE , + DECRESULT = (31, 31, 05) , + DYNDFTCOL = *NO , + DYNUSRPRF = *OWNER , + SQLCURRULE = *STD , + SRTSEQ = *HEX + BEGIN +DECLARE OUTPUT_STRING VARCHAR ( 32000 ) DEFAULT ' ' ; +SET OUTPUT_STRING = ( +SELECT LISTAGG ( +FRAGMENT , ' ' ) WITHIN GROUP ( ORDER BY ORDINAL_POSITION ) +FROM TABLE ( +SELECT ORDINAL_POSITION , +UPPER ( LEFT ( ELEMENT , 1 ) ) || SUBSTR ( ELEMENT , 2 ) +AS FRAGMENT +FROM TABLE ( +SYSTOOLS . SPLIT ( +REGEXP_REPLACE ( +LOWER ( +CAST ( +INPUT_STRING AS VARCHAR ( 32000 ) +CCSID 37 ) ) , '[\s+_-]' , ' ' ) , +' ' ) +) +) R +WHERE FRAGMENT <> ' ' ) ; +RETURN TRIM ( OUTPUT_STRING ) ; +END ; + +COMMENT ON PARAMETER SPECIFIC FUNCTION CISTOOLS.TITLE_CASE +( INPUT_STRING IS 'Input String' ) ; + +LABEL ON SPECIFIC FUNCTION CISTOOLS.TITLE_CASE + IS 'Title Case' ; + +GRANT ALTER , EXECUTE +ON SPECIFIC FUNCTION CISTOOLS.TITLE_CASE +TO AMAPICS WITH GRANT OPTION ; + +GRANT EXECUTE +ON SPECIFIC FUNCTION CISTOOLS.TITLE_CASE +TO PUBLIC ; +