• 9 odgovora
  • 4.445 pregleda
Kako pronaći sve zapise koji počinju s nulom? 29.09.2007. u 08:12 · pre 232 meseci #1
Imam neke brojeve u koloni Vrijednost koji su duzine 5 znakova. Ja zelim pronaći sve brojeve koji mi počinju s 0 ili s 00, kako to mogu uraditi u samom sql-u?
Re: Kako pronaći sve zapise koji počinju s nulom? 29.09.2007. u 08:33 · pre 232 meseci #3
Meni ustvari treba da saznam sve zapise koji pocinju s 0 ili 00 i napravim na te vrijednosti UPDATE tako da mi ostane vrijednost bez tih nula.

Npr ako imam 01234 da mi napravim UPDATE kad mi makne nulu i ostane samo 1234. Gledam TRIM f-ju u mysql-u pa mi se cini da bi preko nje nesto mogao al ne uspijeva mi iz prve?
Re: Kako pronaći sve zapise koji počinju s nulom? 29.09.2007. u 09:34 · pre 232 meseci #4
Ukoliko ti sve ovo treba kako bi podatke prepravio u bazi i neces ovo bas cesto korstiti, ispod rješenje bi ti trebalo zadovoljiti!

Code:

UPDATE tabela SET broj = SUBSTRING(broj,2) WHERE broj LIKE '0%';
UPDATE tabela SET broj = SUBSTRING(broj,3) WHERE broj LIKE '00%';
Re: Kako pronaći sve zapise koji počinju s nulom? 29.09.2007. u 09:45 · pre 232 meseci #5
Ako to radis jednokratno onda prosto mozes da svaki podatak pretvoris su numerik pa onda opet u string i upises u polje. Tako ne moras nista da parsiras. Dodatno mozes da filtriras slogove kojima je prvi karakter '0'.

Medjutim ako je to kolona vrednost i ti brijevi su zaist aprobjevi, promeni tip u numerik, gde ce onda taj broj zaista biti broj i samim tim nece ni imati vodece nule.
Potpis
http://pedja.supurovic.net - http://wireless.uzice.net - Besplatni .RS domeni - Mikrotik uputstva - YT9TP - OpenStreetMap Srbija
Re: Kako pronaći sve zapise koji počinju s nulom? 01.10.2007. u 22:42 · pre 232 meseci #6
Ovo sa SUBSRTING-om je uspjelo i to je ono što sam htjeo. Hvala!

Ostao mi je još posljednji zadatak, a taj je da svim brojevima koji su dugi 3 ili 4 znaka nadodam još nule. Dakle, ako mi je ostalo 1234 tamo da mu još dodam nulu i da je od tada taj broj 12340. Isto tako i za npr. 123 da mi je od sada 12300. Sa SUBSTRINGom mi je jasno kako to napraviti za sve brojeve bez obzira koliko znakova oni imaju ali to ne zelim jer ce mi se onda i one vrijednosti od ranije koje su duze od 3 ili 4 znaka poremetiti pa mi moze broj koji recimo glasi 23456 postati 2345600 a to nikako ne zelim.
Re: Kako pronaći sve zapise koji počinju s nulom? 02.10.2007. u 17:00 · pre 232 meseci #10
Code:

UPDATE `tabela` SET broj = CONCAT(broj,'0') WHERE LENGTH(broj) = 4;
UPDATE `tabela` SET broj = CONCAT(broj,'00') WHERE LENGTH(broj) = 3;
UPDATE `tabela` SET broj = CONCAT(broj,'000') WHERE LENGTH(broj) = 2;
Potpis
Romanes Eunt Domus
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme