![]() |
AW: Stored Procedure: Wie varchar iterieren?
Wenn bei den Parametern der Prozedur kein Zeichensatz/COLLATE angegeben ist, wird wohl der Standardzeichensatz der jeweiligen Datenbank verwendet.
![]() ![]() |
AW: Stored Procedure: Wie varchar iterieren?
Diese Version trennt Klein- und Großschreibung weil explizite Nutzung collate unicode ohne ci
Code:
Und diese Version unterscheidet das nicht. Wenn die DB mit Default UTF8 Charset
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 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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz