Oracle APEX PL/SQL,从字段中转义撇号字符

Oracle APEX PL/SQL, escape apostrophe character from a field

我有两个文本字段,用户有时可以添加撇号字符。

所以在我的页面上,我有 P2003_JOBP2003_PATIENT_NAME 项包含此字符。

如何在我的查询中转义这个字符?

SELECT PATIENT_NAME into :P2003_PATIENT_NAME 
FROM PATIENTS
WHERE PATIENT_JOB = :P2003_JOB;

:P2003_RSLT := 'Patient: &P2003_PATIENT_NAME. job is &P2003_JOB.'

使用q-quoting机制。

:P2003_RSLT := q'[Patient: &P2003_PATIENT_NAME. job is &P2003_JOB.]'

另一种方法是使用绑定变量构建字符串。

:P2003_rslt := apex_string.format('Patient: %s job is %s'
                                 ,:p2003_patient_name
                                 ,:p2003_job);