string vor einfügen bearbeiten und als int einfügen

Michi_R

Fleissiger Benutzer
Beiträge
81
Hallo zusammen.

insert into table1 (id) values ('0123A');

id ist numeric(5,0)
ich würde also gerne '0123A' so bearbeiten, dass es rein passt. Ergo das letzte Zeichen wegschneiden und den rest zu int casten.

Geht sowas?

Danke
 
Werbung:
nein, wir machen das anders.
gehen wir davon aus, dass das Feld id also varchar definiert ist, mit werten wie 0123A und ich eine Abfrage machen will wie:

select * from table1 where id >5 and id < 9

Wie muss ich den Query formulieren, dass er den Buchstaben ausblendet und das vordere als Zahl wahrnimmt?

Ich weiß, das ist schon wieder Pfusch und gleich sauber definieren wäre besser, ich brauch die ids aber aus anderem Grund mit den Buchstaben in der Tabelle.
 
nein, wir machen das anders.
gehen wir davon aus, dass das Feld id also varchar definiert ist, mit werten wie 0123A und ich eine Abfrage machen will wie:

select * from table1 where id >5 and id < 9

Wie muss ich den Query formulieren, dass er den Buchstaben ausblendet und das vordere als Zahl wahrnimmt?

Ich weiß, das ist schon wieder Pfusch und gleich sauber definieren wäre besser, ich brauch die ids aber aus anderem Grund mit den Buchstaben in der Tabelle.


Ja, Pfusch am Bau.

Code:
test=*# create table michi_r (id text);
CREATE TABLE
test=*# insert into michi_r values ('0123A');
INSERT 0 1
test=*# select * from michi_r where (regexp_replace(id, '[^0-9]','','g'))::int > 150;
 id
----
(0 rows)

test=*# select * from michi_r where (regexp_replace(id, '[^0-9]','','g'))::int < 150;
  id
-------
 0123A
(1 row)

Ich weiß aber nicht, ob M$SQL diese Funktion kennt.
 
Werbung:
Zurück
Oben