Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Změna záznamu pomocí regexu a překonvertování na nový datový typ

Aktivity
Avatar
no.good
Člen
Avatar
no.good:11.9.2013 9:59

Zdravím, chtěl jsem se zeptat zda někdo nevíte jestli je možné v MySQL udělat, když mám třeba nějakou hodnotu v jedné tabulce viz staratabulka, je možné jí vložit do nové tabulky a převést na nový datový typ a odstranit nepotřebné znaky jako mezery a typ měny, aby výsledek byl viz novatabulka.

staratabulka:
pole "cena" má datový typ varchar(255)
Navíc jsou data u ceny uváděna takto př. 2 555 Kč

novatabulka:
pole "cena" má datový typ double
Výsledná cena by měla být ve formátu 2555

Př. dotazu
INSERT INTO novatabulka(na­zevproduktu, cena)
SELECT nazevproduktu, cena FROM staratabulka

Doufám, že jsem to dostatečně popsal. :-)

 
Odpovědět
11.9.2013 9:59
Avatar
Kit
Tvůrce
Avatar
Odpovídá na no.good
Kit:11.9.2013 10:21

V podstatě sis skoro odpověděl sám. Možné to je tak jak jsi uvedl v příkladu. Typ DOUBLE se pro cenu nehodí, použij raději DECIMAL.

INSERT INTO novatabulka (nazevproduktu, cena)
    SELECT nazev, cast(replace(cena, ' ','') AS DECIMAL(12,2))
        FROM staratabulka;
Editováno 11.9.2013 10:21
Nahoru Odpovědět
11.9.2013 10:21
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
no.good
Člen
Avatar
no.good:11.9.2013 10:51

Jj díky to je přesně ono :-)

 
Nahoru Odpovědět
11.9.2013 10:51
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.