使用PL / SQL(Oracle 11gR2)我想要一个IF语句来测试一个字符串是否包含一个或多个小写字母。
PL / SQL 伪代码:
declare
v_string varchar2(100) := 'John';
begin
if v_string contain lower-case letter then
... do this
else
... do something else
end if;
end;
/
答案 0 :(得分:1)
测试是否:
v_string != upper(string)
与否。
寻找空值。
coalesce(v_string,'X') != coalesce(upper(string),'X')
答案 1 :(得分:1)
回答了我自己的问题,但不小心把它放在'评论'中。这是:
declare
name varchar2(200) := 'John';
begin
if regexp_like(name,'[:lower:]') then
dbms_output.put_line('lowercase');
else
dbms_output.put_line('uppercase');
end if;
end;
/
答案 2 :(得分:0)
declare
v_name varchar2(200) := 'JOHn';
begin
if regexp_like(v_name,'[:lower:]') then
dbms_output.put_line('first test lowercase');
else
dbms_output.put_line('first test uppercase');
end if;
IF v_name != UPPER(v_name) THEN
dbms_output.put_line('second test lowercase');
ELSE
dbms_output.put_line('second test uppercase');
END IF;
end;
测试它...... 输出
首先测试大写
第二次测试小写
David Aldridge是对的......
答案 3 :(得分:0)
if(v_string != upper(string) AND regexp_count(string,'[[:alpha:]]' > 0 )
then
-- Has Lower case
end if
它还会检查字符串是否包含任何字母!