The POSITION function returns the starting position of the first occurrence of one string (called the search-string) within another string (called the source-string). If the search-string is not found and neither argument is null, the result is zero. If the search-string is found, the result is a number from 1 to the actual length of the source-string.
>>-+-POSITION--(--search-string--IN--source-string--)-+-------->< '-POSITION--(--source-string--,--search-string--)--'
The result of the function is a large integer. If either of the arguments can be null, the result can be null. If either of the arguments is null, the result is the null value.
The POSITION function operates on a character basis. Because POSITION operates on a character-string basis, any shift-in and shift-out characters are not required to be in exactly the same position, and their only significance is to indicate which characters are SBCS and which characters are DBCS.
If the CCSID of the search-string is different from the CCSID of the source-string, it is converted to the CCSID of the source-string. If the CCSID of the source-string is mixed data or UTF-8, CCSID conversion to UTF-16 will occur.
If a collating sequence other than *HEX is in effect when the statement that contains the POSITION function is executed and the arguments are SBCS data, mixed data, or Unicode data, then the result is obtained by comparing weighted values for each value in the set. The weighted values are based on the collating sequence. An ICU collating sequence table cannot be specified with the POSITION function.
If the search-string has a length of zero, the result returned by the function is 1. Otherwise:

SELECT RECEIVED, SUBJECT, POSITION('GOOD', NOTE_TEXT) FROM IN_TRAY WHERE POSITION(NOTE_TEXT, 'GOOD') <> 0

SELECT POSITION( NOTE, 'ß'), POSSTR( NOTE, 'ß') FROM T1
Returns the value 26
for POSITION and 27 for POSSTR.