MYSQL – IF ELSE u SELECT-u
Problem:
ako je vrijednost polja ‘Ž’ onda ispiši 0, ako je ‘M’ ispiši 1
Rješenje:
SELECT IF(spol='Ž',0,1)as spol
Problem:
ako je vrijednost polja ‘Ž’ onda ispiši 0, ako je ‘M’ ispiši 1
Rješenje:
SELECT IF(spol='Ž',0,1)as spol
Problem:
kako selektirati sadašnje vrijeme na jučerašnji datum i sadašnje vrijeme na sutrašnji datum?
Rješenje:
sada: NOW()
jučer: SELECT DATE_SUB(NOW(), INTERVAL 1 DAY)
(ili SELECT DATE_ADD(NOW(), INTERVAL -1 DAY))
sutra: SELECT DATE_ADD(NOW(), INTERVAL 1 DAY)
(ili SELECT DATE_SUB(NOW(), INTERVAL -1 DAY)
Problem: u tablici (polja id i naziv) imamo 10 imena… nas zanimaju imena od 6-tog reda nadalje
Pero, Mirko, Ana, Mate, Boris, Zoran, Ivana, Željko, Miro, Ivica
Rješenje:
SELECT * FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY id ASC) AS rownumber,
ime
FROM tbl_imena
) AS dtbl_privremena
WHERE rownumber >= 7
rezultat:
Ivana, Željko, Miro, Ivica
Problem: kako znati je li broj paran ili neparan
i = 7
Rješenje:
if i Mod 2 = 0 then
response.write("par")
else 'ili not i Mod 2 = 0
response.write("nepar")
end if
Problem:
tablica A ima polje šifra i naziv
tablica B ima polje šifra i naziv
Treba napraviti update tablice A i zamijeniti naziv za onaj iz tablice B gdje se šifre podudaraju
Rješenje:
UPDATE A SET naziv = (SELECT naziv FROM B WHERE sifra = A.sifra)
Problem: Kako saznati da li se dva raspona datuma preklapaju?
raspon1 = 20.02.2013 – 01.03.2013
raspon2 = 15.01.2013 – 22.02.2013
Rješenje:
(Start1 <= End2) AND (Start2 <= End1)
tj.
(20.02.2013<= 22.02.2013) AND (15.01.2013 <= 01.03.2013)
… da li se preklapaju i u početnim i završnim točkama
(Start1 < End2) AND (Start2 < End1)
… da li se preklapaju ne računajući početne i završne točke
Problem: Poredati radne naloge po godini i broju ako broj radnog naloga ima sintaksu “broj/godina”
Rješenje: ORDER BY RIGHT(broj_naloga,4) DESC, LEFT(broj_naloga,len(broj_naloga)-5) DESC
Problem:
Kako dobiti value odabranog radio buttona?
Rješenje:
<input name="grupa" type="radio" value="pero"/> <input name="grupa" type="radio" value="slavko" checked/> <input name="grupa" type="radio" value="mirko"/>
var ime= $("input[@name=grupa]:checked").val();
ili
var ime= $('input:radio[name=grupa]:checked').val();
ime je “slavko”
isto tako, ako nas zanima da li je radio uopće čekiran tada:
if($('input:radio[name=grupa]:checked').val()){
//ako je čekiran tada nešto...
}
Problem: pretvoriti int u string unutar stored procedure
Rješenje:
DECLARE @broj_narudzbe nvarchar(50) DECLARE @Godina int DECLARE @broj int SELECT @broj_narudzbe = CAST(@broj as varchar(10))+'-'+CAST(@Godina as varchar(10))
Problem: kako prekinuti each loop
Rješenje:
return false;
tj.
$('.klasa').each(function(){
var id= $(this).attr('id');
if(id=='pero'){
return false;
}
});
Dakle, ovo vrti sve elemente s klasom .klasa i stane sa vrtnjom kad naiđe na neki čiji je id = pero