From 943a4f5593d91e2406c6d4c0ce1ec8a37e58624f Mon Sep 17 00:00:00 2001 From: Alex Zaw Date: Wed, 25 Feb 2026 23:00:57 +0000 Subject: [PATCH] Update Function GET_CAMEL_CASE --- CISTOOLS/Functions/GET_CAMEL_CASE.sql | 57 ++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/CISTOOLS/Functions/GET_CAMEL_CASE.sql b/CISTOOLS/Functions/GET_CAMEL_CASE.sql index 840e516..d5b5ac8 100644 --- a/CISTOOLS/Functions/GET_CAMEL_CASE.sql +++ b/CISTOOLS/Functions/GET_CAMEL_CASE.sql @@ -1 +1,56 @@ -@@\@^@ % %@@@@Kmm@M@ %@M]@]@ %@M]@@@ %@@ %@Kmm@ %@ %@@@ %@@@@ %@@@ %@@@@~@\@k@ %@~@\@k@ %@~@\@k@ %@~@Mk@k@]@k@ %@~@\@k@ %@~@\@k@ %@~@\@@@ %@ %@m@@M@@]@^@ %@m@@M@@]@^@ %``@Ֆ@@@@@@@@ %@m@~@@M@ %m@M@ %@M@@M@@@@M@@]@@@]@]@k@ %}MmO`OKO]N}@k@}@}@]@]@^@ %``@Á@@@ %@m@~@M@ %@@M@ %@M@ %@M@@M@@M@@]@k@@]@]@OO@ %@M@@M@@]@k@@]@k@}}@]@ %@@M@@@m@]@]@ %@@M@ %@K@@M@m@k@}@}@]@ %]@ %@@M@@]@Ln@}}@]@^@ %``@ԁ@@@@ %@m@~@@M@@M@m@k@@]@]@OO@@M@m@k@@]@^@ %@@M@m@]@^@ %@@^@ % %@@@@@Kmm@ %M@@@}ɕ@⣙}@]@^@ % %@@@@Kmm@ %@}Dž@Á@Á}@^@ % %@@k@@@@ %@@@Kmm@ %@@@@@^@ % %@@@@ %@@@Kmm@ %@@^@ % % \ No newline at end of file +SET PATH *LIBL ; + +CREATE OR REPLACE FUNCTION CISTOOLS.GET_CAMEL_CASE ( + INSTRING VARCHAR(528) ) + RETURNS VARCHAR(528) + LANGUAGE SQL + SPECIFIC CISTOOLS.GET_CAMEL_CASE + DETERMINISTIC + READS SQL DATA + CALLED ON NULL INPUT + NO EXTERNAL ACTION + SET OPTION ALWBLK = *ALLREAD , + ALWCPYDTA = *OPTIMIZE , + COMMIT = *NONE , + DECRESULT = (31, 31, 00) , + DYNDFTCOL = *NO , + DYNUSRPRF = *USER , + SRTSEQ = *HEX + BEGIN +DECLARE V_WORKSTR VARCHAR ( 528 ) ; +DECLARE V_RESULT VARCHAR ( 528 ) ; +-- Normalize to lowercase and replace separators with spaces +SET V_WORKSTR = LOWER ( +REGEXP_REPLACE ( +TRIM ( CAST ( INSTRING AS VARCHAR ( 528 ) CCSID 37 ) ) , +'(_|-|\\.|\\s)+' , ' ' ) ) ; +-- Capitalize each word +SET V_RESULT = ( +SELECT TRIM ( +LISTAGG ( +UPPER ( LEFT ( TRIM ( ELEMENT ) , 1 ) ) || +SUBSTR ( TRIM ( ELEMENT ) , 2 ) , '' ) +WITHIN GROUP ( ORDER BY ORDINAL_POSITION ) ) +FROM TABLE ( +SYSTOOLS . SPLIT ( V_WORKSTR , ' ' ) +) +WHERE TRIM ( ELEMENT ) <> '' ) ; +-- Make first character lowercase +SET V_RESULT = LOWER ( LEFT ( V_RESULT , 1 ) ) || SUBSTR ( V_RESULT , 2 ) ; +RETURN TRIM ( V_RESULT ) ; +END ; + +COMMENT ON PARAMETER SPECIFIC FUNCTION CISTOOLS.GET_CAMEL_CASE +( INSTRING IS 'In String' ) ; + +LABEL ON SPECIFIC FUNCTION CISTOOLS.GET_CAMEL_CASE + IS 'Get Camel Case' ; + +GRANT ALTER , EXECUTE +ON SPECIFIC FUNCTION CISTOOLS.GET_CAMEL_CASE +TO AMAPICS WITH GRANT OPTION ; + +GRANT EXECUTE +ON SPECIFIC FUNCTION CISTOOLS.GET_CAMEL_CASE +TO PUBLIC ; +