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ś - sciagnij -zalicz , Ranx 9/06/09 16:29
prosta metoda:Do roztramtajdany charkopryszczańcu... - 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" - 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" - 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"
- 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ś - 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 |
 |
|
|
|