Diese Version trennt Klein- und Großschreibung weil explizite Nutzung collate
unicode ohne ci
Code:
create or alter procedure REPL (
VAL varchar(10))
returns (
RES varchar(10))
as
declare variable C char(1) character set utf8 collate
unicode;
begin
res='';
while (char_length(val)>0) do
begin
c=substring(val from 1 for 1);
val=substring(val from 2 for 10);
if (c='A') then c='1'; else
if (c='C') then c='3';
res=res||c;
end
suspend;
end
Und diese Version unterscheidet das nicht. Wenn die
DB mit Default UTF8 Charset
und Default Collation Unicode_ci angelegt wurde, würde das so auch funktionieren,
wenn man keine explizite Angaben dafür aufnimmt. In so einer
DB kann man
das dann aber trotzdem wie oben für diesen Zweck überschreiben.
Code:
create or alter procedure REPL (
VAL varchar(10))
returns (
RES varchar(10))
as
declare variable C char(1) character set utf8 collate unicode_ci;
begin
res='';
while (char_length(val)>0) do
begin
c=substring(val from 1 for 1);
val=substring(val from 2 for 10);
if (c='A') then c='1'; else
if (c='C') then c='3';
res=res||c;
end
suspend;
end