Update Function TITLE_CASE

This commit is contained in:
2026-02-25 23:02:27 +00:00
parent ed2f8372c8
commit d440217a6e

View File

@@ -1 +1,57 @@
@\@^@ 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 ;