我在Oracle中有一个表:
:
我想用以下查询选择第3行和第4行(仅包含字母),但我没有得到任何行。
id | name | description
1 | Roy | 12
2 | Boy | 99
3 | John | NEW YORK
4 | Brian | ALABAMA
如何更正查询以获取第3行和第4行?
答案 0 :(得分:1)
SELECT * FROM my_table WHERE regexp_like( d, '^[a-zA-Z]+$')
根据评论更新:documentation is very good
^ - start of string
$ - end of string
[a-zA-Z] - character class containing latin letters only
[0-9] - character class containing digits only
\d - the same as [0-9]
例如:
^[a-zA-Z]+$
匹配字符串仅限字母
^[a-zA-Z]
匹配以字母和任何尾部开头的字符串
[a-zA-Z]
匹配至少包含一个字母的字符串
数字相似
^\d+$
仅匹配数字字符串(依此类推......)
^\d{2,6}$
匹配字符串,如果它只包含数字,并且有2,3,4,5或6位数字。