Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » Dexter 11:08
 » Zbyl 11:07
 » ToM78 11:03
 » JE Jacaw 10:59
 » okobar 10:57
 » steve 10:55
 » Master/Pe 10:54
 » NimnuL 10:53
 » Kenny 10:53
 » Hitman 10:50
 » Qjanusz 10:49
 » Wedrowiec 10:49
 » bajbusek 10:42
 » ulan 10:42
 » Liu CAs 10:37
 » marek_m 10:37
 » ligand17 10:36
 » kyusi 10:25
 » pawcio 10:25
 » DJopek 10:23

 Dzisiaj przeczytano
 11194 postów,
 wczoraj 26422

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2025
A R C H I W A L N A   W I A D O M O Ś Ć
    

[postgresql] jak przekonwertowac string do liczby? , Marvel 9/06/09 16:05
moze ktos oblatany w postgresql bedzie mi w tanie pomoc. otoz mam same stringi w bazie. dwie kolumny zawieraja tylko liczby typu 1.0, 2.6, 3 itp.
musze stworzyc kolumne, gdzie znajdzie sie wynik dzielenia wspomnianych kolumn.
na poczatku kombinowalem w ten sposob:
cast(x.y as float8) lub (x.y::integer)
wywalalo mi ciagle blad typu: invalid input syntax for integer(lub double precision)
pozniej probowalem zamienic . na , w ten sposob:
((CASE WHEN x.y='.' THEN ',' END)::float8) AS nazwa
niestety albo zwraca mi wartosci null, albo cannot cast from double to string
:/

Za dwadzieścia lat bardziej będziesz
żałował tego, czego nie zrobiłeś, niż
tego, co zrobiłeś

  1. sciagnij -zalicz , Ranx 9/06/09 16:29
    prosta metoda:D

    o roztramtajdany charkopryszczańcu...

  2. przede wszystkim nie rób tego:-) , bwana 9/06/09 16:32
    jeśli nie ma szczególnych powodów, aby przechowywać wartość takiego wyrażenia w kolumnie, stwórz raczej widok, w którym będzie dodatkowa kolumna z ilorazem.

    Tak czy siak konwersja stringa na liczbę jest taka np.

    to_number('1111111.0','999999999.999') gdzie 99999.999 to maska konwersji a 1111111.0 to liczba w postaci tekstu.

    "you don't need your smile when I cut
    your throat"

    1. no tak, i należy też zabezpieczyć się przed dzieleniem przez 0 , bwana 9/06/09 16:38
      i w takim wypadku nie dzielić, tylko zwracać np. NULL

      "you don't need your smile when I cut
      your throat"

      1. no niech tam, np. tak , bwana 9/06/09 16:46
        select case when b = 0 then null else a/b end from (
        select 1.0 as a, 1 as b
        ) liczby

        lub

        select a/nullif(b,0) from (
        select 1.0 as a, 0 as b
        ) liczby

        "you don't need your smile when I cut
        your throat"

    2. dzieki za pomoc , Marvel 10/06/09 11:23
      a mozesz troche bardziej wyjasnic te rozwiazanie z widokiem? sorki, za troszke lamerskie pytania, ale dopiero zaczynam przygode z postgresql.
      btw. skladnia to_numer wystepuje w tym jezyku?

      Za dwadzieścia lat bardziej będziesz
      żałował tego, czego nie zrobiłeś, niż
      tego, co zrobiłeś

      1. widok, czyli view , bwana 10/06/09 13:23
        czyli perspektywa to zapisane w bazie na stałe zapytanie. Widok na bazie zakłada się np. tak:

        create view MOJ_WIDOK as
        select a, b, a/nullif(b,0) as iloraz
        from tabela_z_liczbami

        Później zamiast "robić selekty" na tabeli tabela_z_liczbami, zadajesz zapytania o widok (select * from MOJ_WIDOK).

        funkcja TO_NUMBER występuje w SQL-u bazy PostgreSQL, oczywiście.

        "you don't need your smile when I cut
        your throat"

    
All rights reserved ® Copyright and Design 2001-2025, TwojePC.PL