我目前正在尝试检查字符串是否有特殊字符(值不是0到9 A到Z a到z),但我目前使用的内部语言非常有限的功能(可能但需要很多行)。但我能够对sql进行查询。现在我想问一下是否可以在sql上使用双表进行查询,我的计划是将字符串传递给变量,这个变量将在我的sql命令中使用。提前谢谢。
答案 0 :(得分:2)
以下是您可以使用的内容
SELECT REGEXP_INSTR('Test!ing','[^[:alnum:]]') FROM dual;
只要你的字符串中没有字母或数字,就会返回0以外的数字。
答案 1 :(得分:2)
您可以使用TRANSLATE
从字符串中删除所有正常字符。你得到一个只包含不需要的字符的字符串 - 如果没有,则返回一个空字符串。
select translate(
'AbcDefg1234%99.26éXYZ', -- your string
'.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
'.') from dual;
返回:%.é