Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   [SQL] Ergebnisfeld auf bestimmte Länge begrenzen (https://www.delphipraxis.net/168757-%5Bsql%5D-ergebnisfeld-auf-bestimmte-laenge-begrenzen.html)

ibp 8. Jun 2012 16:03

Datenbank: Interbase • Version: XE • Zugriff über: egal da SP

[SQL] Ergebnisfeld auf bestimmte Länge begrenzen
 
Hi,

wie kann ich ein select Result auf eine bestimmte Länge begrenzen?

Code:
select myfeld from mytab where mypkey=2134
myfeld ist ein varchar(500). Ich möchte das Ergebnis auf z.b. 30 Zeichen begrenzen.

1. Versuch:

Code:
select cast(myfeld as char(30)) from mytab where mypkey=2134
funktioniert leider nicht, wenn in myfeld mehr als 30 Zeichen sind.

Hat jemand eine Idee?

DeddyH 8. Jun 2012 16:08

AW: Ergebnisfeld auf bestimmte Länge begrenzen
 
Klappt das hier?
SQL-Code:
select substring(myfeld from 1 for 30) from mytab where mypkey=2134

ibp 8. Jun 2012 16:13

AW: [SQL] Ergebnisfeld auf bestimmte Länge begrenzen
 
leider nein, substring oder substr gibt es nicht bei interbase :(

DeddyH 8. Jun 2012 16:19

AW: [SQL] Ergebnisfeld auf bestimmte Länge begrenzen
 
Da musst Du AFAIK UDFs einbinden, frag mich aber nicht, welche, ich mache nichts mit Interbase.

ibp 8. Jun 2012 16:32

AW: [SQL] Ergebnisfeld auf bestimmte Länge begrenzen
 
das Problem bei der UDF SUBSTR ist, dass das übergebene Feld nicht größer als 80 Zeichen sein darf! :wall:

Also stehe ich wieder am Anfang! :roll:

p80286 8. Jun 2012 16:34

AW: [SQL] Ergebnisfeld auf bestimmte Länge begrenzen
 
Da ich z.Zt nicht an die IB-Doku herankomme, wie wär's mit einem Copy bzw left (falls es soetwas überhaupt gibt?

Gruß
K-H

DeddyH 8. Jun 2012 16:38

AW: [SQL] Ergebnisfeld auf bestimmte Länge begrenzen
 
Gibt es denn keine andere UDF, die mit größeren Feldern umgehen kann? In der allergrößten Not müsste man sich selbst eine schreiben (oder zu Firebird wechseln).

mkinzler 8. Jun 2012 17:53

AW: [SQL] Ergebnisfeld auf bestimmte Länge begrenzen
 
Dort funktioniert das mit dem cast()

ibp 9. Jun 2012 11:47

AW: [SQL] Ergebnisfeld auf bestimmte Länge begrenzen
 
Zitat:

Zitat von mkinzler (Beitrag 1170080)
Dort funktioniert das mit dem cast()

meintest du fb?

fb ist derzeit kein Option!

ib quittiert mir ein cast auf einen begrenzten Typ mit eine Fehlermeldung, wenn der Inhalt des abgefragten Feldes größer als die Begrenzung ist. :cry:

fkerber 9. Jun 2012 12:02

AW: [SQL] Ergebnisfeld auf bestimmte Länge begrenzen
 
Hi,

wenn ich es richtig verstehe, ist hier beschrieben, wie es gehen sollte:
http://www.volny.cz/iprenosil/interb..._code_truncate


LG,
Frederic


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz