Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Namen kürzen, Strings zuschneiden (https://www.delphipraxis.net/111727-namen-kuerzen-strings-zuschneiden.html)

ralfiii 8. Apr 2008 14:11

Datenbank: Firebird • Version: 2.0 • Zugriff über: IBX - Interbase Express

Namen kürzen, Strings zuschneiden
 
Ich muss einene Haufen einträge in einer Datenbank anonymisieren.

Lustigerweise scheitere ich an dieser extrem einfachen Aufgabe kläglich.
Natürlich könnt' ich's in Delphi ausprogrammieren, aber jetzt hat mich der Ehrgeiz gepackt, das muss ja wohl in SQL zu machen sein!

Erst wollt' ich das so erledigen:

SQL-Code:
update Patients a set a.firstname=
  (select cast(b.firstname as varchar(1)) from patients b where a.patient_id = b.patient_id)
Letztlich scheitert aber sogar ein primitives
SQL-Code:
select cast(firstname as varchar(1)) from patients
mit einem "Arithmetic overflow..." Fehler.

Was ist da los?
Wie kürze ich Strings? Left(string, länge) kennt Firebird ja scheinbar nicht.

Danke,
Ralf

DeddyH 8. Apr 2008 14:13

Re: Namen kürzen, Strings zuschneiden
 
Versuch es mal mit SubStr, das ist AFAIR als UDF dabei.

mkinzler 8. Apr 2008 14:18

Re: Namen kürzen, Strings zuschneiden
 
Oder die builtIn-Variante substring

ralfiii 8. Apr 2008 14:46

Re: Namen kürzen, Strings zuschneiden
 
OK, so geht's:

update PATIENTS
Set FirstName = substring(firstname from 1 for 1)

Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz