试图让我了解PLSQL
所以我希望名字(fnamn)和姓氏(enamn)的首字母大写。一直在谷歌上搜索很多,找到了关于它的主题,并且已经进行了一段时间的测试,但是没有使它起作用。.在尝试时,只设法将所有字母都放在上面。
到目前为止,这是我的代码;
declare
cursor c_användare
is select upper(substr( fnamn,1)) ,Enamn,pnr
from bilägare;
v_fnamn bilägare.fnamn%type;
v_enamn bilägare.enamn%type;
v_pnr bilägare.pnr%type;
begin
if not c_användare%isopen then
open c_användare;
end if;
loop
fetch c_användare
into v_fnamn,v_enamn,v_pnr;
exit when c_användare%notfound;
dbms_output.put_line(v_Fnamn||', '||v_Enamn||', '||v_pnr||'år');
end loop;
close c_användare;
end;
答案 0 :(得分:2)
您需要的是 INITCAP
。
select initcap('jOHn') as first_name, initcap('smItH') as last_name from dual
union all
select initcap('JÁNOS') , initcap('KÁDÁR') from dual
;
FIRST_NAME LAST_NAME
---------- ----------
John Smith
János Kádár
答案 1 :(得分:1)
那又怎么样:
UPPER(SUBSTR(fnamn,1,1)) || SUBSTR(fname,2)
SUBSTR()采用基于1的第一个索引,然后采用长度。如果省略长度,则返回整个字段,因此SUBSTR(field,1)
与field
相同。