Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Ořezání datového řetězce v Oracle SQL

Ostatní jazyky SQL SQL a databáze Ořezání datového řetězce v Oracle SQL

Aktivity (1)
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í
+1 bodů
Ř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.