Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   varchar immer länge 2 (https://www.delphipraxis.net/168827-varchar-immer-laenge-2-a.html)

Marcel2906 13. Jun 2012 09:46

Datenbank: oracle • Version: 8.04 • Zugriff über: pl/sql developer

varchar immer länge 2
 
Hey, glaube ich habe eine dumme frage die schnell beantwortet werden kann.

also ich hole aus einer spalte einer tabelle einen integer wert und wandle diesen in varchar(2) um.
nun möchte ich, dass er mir, wenn der integer wert einstellig ist, eine 0 an erster Stelle setzt.

**Hab noch nicht viel erfahrung mit datenbanken, deswegen könnten die angaben zur datenbank nicht stimmen, hoffe ich hab alles korrekt eingetragen**

DeddyH 13. Jun 2012 09:52

AW: varchar immer länge 2
 
Hilft Dir das hier weiter? http://docs.oracle.com/cd/B19306_01/...004.htm#i34570

Marcel2906 13. Jun 2012 09:58

AW: varchar immer länge 2
 
hmm, da blick ich nicht wirklich durch..also ich hol mir meinen wert so:

Code:
CAST(SPALTENNAME as varchar(2)) from TABELLENNAME
und nun wäre es schön, wenn er mit '01' zurück gibt, wenn in der Spalte 1 steht

Bernhard Geyer 13. Jun 2012 09:58

AW: varchar immer länge 2
 
Muss das in der SQL-Abfrage geschehen oder reicht das nicht in der Präsentationsschicht entsprechend zu formatieren?

DeddyH 13. Jun 2012 10:01

AW: varchar immer länge 2
 
SQL-Code:
SELECT TO_CHAR(Feld, '09') FROM Tabelle
sollte eigentlich das gewünschte Ergebnis liefern. Oder aber man konvertiert die Daten erst am Frontend, siehe Bernhard.

Lemmy 13. Jun 2012 10:01

AW: varchar immer länge 2
 
Hi,

sollte so gehen:

Code:
Select
  case
    when length(Spalte)=1 then '0'||Spalte
  else Spalte
from XXCX

Marcel2906 13. Jun 2012 10:08

AW: varchar immer länge 2
 
Zitat:

Zitat von DeddyH (Beitrag 1170601)
SQL-Code:
SELECT TO_CHAR(Feld, '09') FROM Tabelle
sollte eigentlich das gewünschte Ergebnis liefern. Oder aber man konvertiert die Daten erst am Frontend, siehe Bernhard.

sieht ganz gut aus, aber wenn ich vor dem convertieren etwas stehen haben möchte, macht er mit ein leerzeichen dazwischen, wieso?

Code:
select '01' || TO_CHAR(SPALTE,'00')
      from  TABELLE
und erst im frontend zu konvertieren geht ja dann nicht mehr, oder :?:

spaxxn 13. Jun 2012 10:27

AW: varchar immer länge 2
 
select right(trim('00'||TO_CHAR(SPALTE)),2) from TABELLE

DeddyH 13. Jun 2012 10:36

AW: varchar immer länge 2
 
Und beim Format FM00?
SQL-Code:
select '01' || TO_CHAR(SPALTE,'FM00')
      from TABELLE

spaxxn 13. Jun 2012 10:38

AW: varchar immer länge 2
 
Ihm gings doch nur um führende Nullen oder hab ich da was falsch verstanden?


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 Uhr.
Seite 1 von 2  1 2      

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