helmuthelmut2000
Goto Top

Nur die Zahlen die in einer Informix Tabelle (Spalte) in Hochkommas stehen selectieren

Hallo,

Ich habe folgendes Problem.
Im möchte mit squirrel einen select von einer Datenbank machen.

Da möchte ich von einer Spalte wo ein Text steht nur die Zahlen ausgeben die
da wiederum in Hochkommas stehen.

Kann mir da jemand weiterhelfen?

Danke

Gruß

Content-ID: 333562

Url: https://administrator.de/contentid/333562

Ausgedruckt am: 22.11.2024 um 11:11 Uhr

terminator
terminator 30.03.2017 um 09:00:52 Uhr
Goto Top
Ich habe kein Informix zur Hand und bin mir nicht sicher, ob ich Deine Frage so verstanden habe, wie sie gemeint ist. Probier mal das hier:
select chr(39) as KontrollAusgabe, replace(meinTextfeld, chr(39)) from meineTabelle
helmuthelmut2000
helmuthelmut2000 30.03.2017 um 10:45:54 Uhr
Goto Top
Hallo Terminator,

Da bekomme ich den Fehler:

Error: Routine (chr) nicht gefunden


Gruß
terminator
terminator 31.03.2017 um 07:55:50 Uhr
Goto Top
Welche Informixversion hast du?
Statt chr(39) kannst Du '''' versuchen, also 4x Hochkomma.
helmuthelmut2000
helmuthelmut2000 31.03.2017 um 10:26:06 Uhr
Goto Top
Hallo,

Dann bekomme ich noch den Fehler:

Error: Routine (replace) nicht gefunden


Gruß
terminator
terminator 31.03.2017 um 10:42:59 Uhr
Goto Top
Hast du meine Frage gelesen?

Weitere Fragen:
Kannst Du mal das Statement im Kontext zeigen?
In welcher Umgebung schickst Du das Statement ab? (IDE, console, ..)
helmuthelmut2000
helmuthelmut2000 31.03.2017 um 10:52:05 Uhr
Goto Top
Hallo,

Ich mach das im Squirrel,

Ich habe da noch mal ein Feld wo ich solche Zahlen auslesen möchte.
Da stehen die Texte und Zahlen in einer Klammer.
Kann ich das anstelle der 4Hochkommas auch mit einer Klammer versuchen?

Gruß
terminator
terminator 31.03.2017 um 11:31:51 Uhr
Goto Top
Ich weiß nicht, was eine Klammer bringen soll.
Ohne die Replace Funktion hilft es sowieso nicht viel.

Nochmal die Frage:
Welche Informix Version hast Du da im Einsatz?!

Wie wäre es, wenn Du außerdem mal Beispiele für die bestehenden Feldinhalte postest?
Und ebenso, wohin das umgeformt werden soll.
helmuthelmut2000
helmuthelmut2000 31.03.2017 um 22:34:18 Uhr
Goto Top
Hallo,

Die Tabelle schaut so aus.

(32745) Hans Hansen 36
'35838' Franz Vogel 18
Wohnort(32749) Peter Wetzler 18
'32742' Fritz Mayer 18
'32741' Maria Müller 18

Und da brauche ich in der 1. Spalte nur die Zahlen, ohne Hochkomma und
ohne Klammern.
Wie kann ich denn schauen welche Informix Version ich installiert habe?

Gruß
132692
132692 01.04.2017 aktualisiert um 19:42:25 Uhr
Goto Top
select SUBSTRING(meinTextfeld FROM PATINDEX('%[0-9]%',meinTextfeld) FOR 5) as PLZ from meinetabelle;

Gruß p.
helmuthelmut2000
helmuthelmut2000 01.04.2017 um 18:06:30 Uhr
Goto Top
Hallo pattern,

Da habe ich wieder das Problem mit dem SUBSTRING

Error: Routine (substring) nicht gefunden.

Gruß
132692
132692 01.04.2017 aktualisiert um 18:23:38 Uhr
Goto Top
Tja wenn du nichts von deinem System und deiner Umgebung verrätst kann dir keiner vernünftig helfen!! Die Funktionen habe ich aus einer Informix-Referenz... face-sad Immer das selbe Spiel mit der Glaskugel.. aber ist ja auch 1. April was will man da erwarten.
helmuthelmut2000
helmuthelmut2000 01.04.2017 um 18:38:25 Uhr
Goto Top
Hallo pattern,

Ich weis nicht wie ich die Version auslese.
Kannst du mir sagen wie man das macht?

Danke.
132692
132692 01.04.2017 aktualisiert um 18:45:48 Uhr
Goto Top
Wenn du uns noch nicht mal deine Umgebung(OS/Version) etc. nennst ??? Dir muss man echt alles aus der Nase ziehen face-sad
Google schon wieder kaputt:
How to tell the version of Informix Products or Libraries Installed
helmuthelmut2000
helmuthelmut2000 01.04.2017 um 19:07:40 Uhr
Goto Top
Hallo

Gatenbankversion = 7.25
SLES10SP2

Gruß
132692
132692 01.04.2017 aktualisiert um 19:12:22 Uhr
Goto Top
Zitat von @helmuthelmut2000:
Gatenbankversion = 7.25
Das ist ja ein halbes Jahrhundert alt face-big-smile. Mal im Keller kramen ...
helmuthelmut2000
helmuthelmut2000 01.04.2017 um 19:18:12 Uhr
Goto Top
Ging das mit der Version nicht?

Ab welcher ging es denn?
132692
132692 01.04.2017 aktualisiert um 19:24:45 Uhr
Goto Top
Zitat von @helmuthelmut2000:

Ging das mit der Version nicht?
Da sind die verfügbaren SQL-Funktionen sehr beschränkt.
ftp://ftp.software.ibm.com/software/data/sw-library/informix/pubs/library/menus_scripted/se_7.html

Da wirst du sehr wahrscheinlich nicht mit nur einer Query hinkommen sondern mit SPL das zusammenbauen müssen.

Ab welcher ging es denn?
k.A. muss ich erst mal nachschlagen. Aktuell sind ja 11er und 12er und die haben die oben von uns genutzen SQL Funktionen.
https://www.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.sqlr.d ...
helmuthelmut2000
helmuthelmut2000 01.04.2017 um 19:29:27 Uhr
Goto Top
OK.

Jetzt das alles mit Version 12.10.

Fehler Cursor bleibt bei der 5 stehen mit Fehler:

Error: A syntax error has occurred.
SQLState: 42000
ErrorCode: -201
Position: 19
132692
132692 01.04.2017 aktualisiert um 19:52:06 Uhr
Goto Top
Sehe gerade das patindex in dem Kontext nicht geht, da wirst du dir mit der SPL-Language ne "custom function" dafür bauen müssen.
https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.sql ...
helmuthelmut2000
helmuthelmut2000 01.04.2017 um 19:55:43 Uhr
Goto Top
Halt Entschuldigung ich war auf der Falschen Zeile.

Die Fehlermeldung ist es :

Error: Routine (patindex) can not be resolved.
SQLState: IX000
ErrorCode: -674
Position: 32
132692
132692 01.04.2017 aktualisiert um 19:56:42 Uhr
Goto Top
s. letzten Kommentar.