[ Mostarx @ 31.08.2006. 08:27 ] @
Dobar dan

Trebao bih napraviti naredbu select nad jednom tabelom ali da mi iz određenog polja vrati rezultat samo prvih 10 znakova. Naime ne znam jesam li bio jasan, na primjer ukoliko postoji kolona ime te su tu imena raznih duljni, postoji li mogućnost da mi naredba select vrati sva imena ali samo na primjer njihovih prvih 5 znakova.
E sada kako i nisam najbolji s SQL-om ne znam ovo riješiti pa Vas pitam.

Unaprijed hvala
[ goranvuc @ 31.08.2006. 08:42 ] @
Ako ti treba samo levi deo nekog polja duzine 10 onda:
Code:

SELECT LEFT(Ime, 10) AS Deo FROM Tabela



ali ako pretpostavimo da ti je u toj koloni i ime i prezime, a ti hoces da ih razdvojis i uzmes samo ime, onda je kriterijum razdvajanja Space karakter izmedju njih (naravno da to ne vazi u 100% slucajeva), pa bi moglo i ovo:
Code:

SELECT  (CASE WHEN CHARINDEX(' ', Ime) = 0 THEN Ime ELSE LEFT(Ime, CHARINDEX(' ', Ime) - 1) END) AS Deo 
FROM  Tabela
[ Mostarx @ 31.08.2006. 09:53 ] @
Nisam probao s prethodnim savijetom ali sam našao na netu moguće riješenje.
Znači u select se ubaci funkcija SUBSTRING
Sintaksa bi bila
Select SUBSTRING (Ime kolone, od kojeg znaka, do kojeg znaka)
From Tabela

Pozdrav