CREATE FUNCTION TITLECASE ( INSTR VARCHAR(255) ) RETURNS VARCHAR(255) -- Submitted by : Sathyaram Sannasi -- -- sathyaram@db2click.com -- -- Date : 20 June 2005 -- -- -- This has been tested on DB2 8.2 on LUW. -- Though not tested, this should work on DB2 V8 on zOS. -- -- Converts the input string to Titlecase. -- Example -- values(titlecase('pRime MinIster')) will give 'Prime Minister' -- -- -- -- BEGIN ATOMIC RETURN WITH TEMP ( COL1, COL2 ) AS ( SELECT UPPER(SUBSTR(INSTR,1,1))||SUBSTR(INSTR,2)||' ',2 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT CASE SUBSTR(COL1,COL2-1,1) WHEN ' ' THEN SUBSTR(COL1,1,COL2-1)||UPPER(SUBSTR(COL1,COL2,1))||SUBSTR(COL1,COL2+1) ELSE SUBSTR(COL1,1,COL2-1)||LOWER(SUBSTR(COL1,COL2,1))||SUBSTR(COL1,COL2+1) END, COL2+1 FROM TEMP WHERE COL2