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: Ořezání datového řetězce v Oracle SQL

Aktivity
Avatar
JB_20
Člen
Avatar
JB_20:6.4.2016 10:38

Ahoj,

mám tabulku s číselnými hodnotami, které jsou na nějakém (libovolném) místě odděleny pomlčkou, např. 1234-567890123. Mohl byste mi poradit, jak ořezat tento datový řetězec, aby se v něm nevyskytovala část před pomlčkou (včetně pomlčky)? Zkoušel jsem fuknci ltrim, ale, jestli jsem to správně pochopil, ta ořezává jen jeden první, a ještě k tomu konkrétní, znak zleva, což mi nepomáhá.

Díky.

 
Odpovědět
6.4.2016 10:38
Avatar
Honza
Člen
Avatar
Honza:6.4.2016 11:57

Ahoj, teď nemám přístup k Oracle, ale podívej se na funkce INSTR a SUBSTR. Jejich kombinací by se ti mělo povést udělat to co potřebuješ. Ta první ti vrátí pozici zadaného znaku (pomlčky) a pomocí druhé si vytáhneš část textu (zadáš počáteční pozici a počet znaků a funkce ti vrátí výsledný řetězec).

Pokud formát toho čísla je vždy stejný (4 čísla, pomlčka a 9 čísel), první funkci nebudeš potřebovat a můžeš použít rovnou SUBSTR.

Popis funkce INSTR: https://docs.oracle.com/…ons_1103.htm

Popis funkce SUBSTR: https://docs.oracle.com/…ons_2101.htm

Editováno 6.4.2016 11:59
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
6.4.2016 11:57
Snadnou cestou se daleko nedostanete, je tam velká tlačenice...
Avatar
JB_20
Člen
Avatar
JB_20:6.4.2016 12:38

Honzo,
je to přesně, jak říkáš. Děkuji Ti za pomoc :)

 
Nahoru Odpovědět
6.4.2016 12:38
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.