Gå til innhold

[Løst] Hex til desimal postgresql


Anbefalte innlegg

Skrevet (endret)

Hei,

 

Holder på å skrive om ein mysql spørring til postgresql, men eg sitter fast ved tal konvertering. Under er ein bit av ei select blokk, er det mulig å gjøre noe lignende i postgresql?

 

CONV(SUBSTR(`Post`.`poster_ip`, 1, 2), 16, 10) || '.' || CONV(SUBSTR(`Post`.`poster_ip`, 3, 2), 16, 10) || '.' || CONV(SUBSTR(`Post`.`poster_ip`, 5, 2), 16, 10) || '.' || CONV(SUBSTR(`Post`.`poster_ip`, 7, 2), 16, 10)) as `ip`,

 

Som dere ser så har eg begynt konverteringen ved å bytte ut CONCAT med ||

Endret av Runar0
Videoannonse
Annonse
Skrevet

Jo, men slik eg forstår det så er det ikkje mulig å bruke verdien av eit felt på den måten, eller?

 

SELECT poster_ip::integer FROM phpbb_posts

Gir

ERROR: invalid input syntax for integer: "7F000001"

SQL state: 22P02

Skrevet (endret)

Etter masse prøving og feiling så ser det ut til at eg har løst det:

 

SELECT
get_byte(decode(substr(poster_ip, 1, 2), 'hex'), 0) || '.' || get_byte(decode(substr(poster_ip, 3, 2), 'hex'), 0) || '.' || get_byte(decode(substr(poster_ip, 5, 2), 'hex'), 0) || '.' || get_byte(decode(substr(poster_ip, 7, 2), 'hex'), 0) as ip
FROM phpbb_posts

 

Vist poster_ip = 7f000001 så vil ip bli 127.0.0.1

Endret av Runar0

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...