Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 6.384 pregleda

Najnovija ↓

[Ms SQL] rezultat poredjenja izraza 08.07.2005. u 17:36 · pre 259 meseci #1
Da li mogu dobijem rezultat poredjenja izraza, a da ne pisem funkciju ?
Hteo bih da smestim rezultat poredjenja (@prm > 0) u promenljivu, ali sa set @res = (@prm > 0) dobijam gresku. Nisam video neku ugradjenu funkciju koja bi mi pomogla :(

Pomoc !
Potpis
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
Re: [Ms SQL] rezultat poredjenja izraza 08.07.2005. u 23:25 · pre 259 meseci #2
Pretpostavljam da hoces da dobijes nazad true/false rezultat, 1 ako je @prm veci od 0, 0 ako je @prm manji od 0. Mozes postici sa IF:

Code:


DECLARE @res BIT

IF (@prm > 0)
     SET @res = 1
ELSE
     SET @res = 0

Potpis
All beer is good. Some beer is better.
Re: [Ms SQL] rezultat poredjenja izraza 09.07.2005. u 07:58 · pre 259 meseci #3
Hvala, ali to mi ne pomaze sa ovim sta sam sebi uvrteo u glavu :)

Pokusavam da napravim uslovni where, nesto kao:

Code:

declare @a int

set @a = 0

select * from Office
where (    case @a
        when 0 then 1    -- bezuslovno
        when 1 then (Identifier = 'bgd')
        when 2 then (Location = 'scg') end
) = 1


Ovo lepo radi za prvi slucaj, ali se buni kod =.

Jos jedna stvar mi nije jasna. Prevodilac ne prepoznaje true/false reci, zali se da ne moze da nadje kolone true/false.
Dok Query Analyzer oboji true/false kao da su ispravni izrazi, a ne kolone ?!
Potpis
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
Re: [Ms SQL] rezultat poredjenja izraza 09.07.2005. u 08:03 · pre 259 meseci #4
Probaj ovo

Code:


WHERE (@a = 0)
     OR (@a = 1 AND Identifier = 'bgd')
     OR (@a = 2 AND Location = 'scg')

Potpis
All beer is good. Some beer is better.
Re: [Ms SQL] rezultat poredjenja izraza 11.07.2005. u 11:29 · pre 259 meseci #5
Ne treba da razbijate glavu oko stvari za koje se normalno primenjuje dinamicki SQL.

Cod:

CRCREATE PROC MojPrimer
@a char(1)
AS
DECLARE @sqlstr varchar(1000)
set @sqlstr = ''
IF @a = '0' begin SET @SQLSTR='SELECT 1' end
ELSE if @a = '1'
BEGIN
SET @sqlstr= 'select * from Office where Identifier = ''BGD'''
EXEC (@sqlstr)
END
ELSE if @a = '2'
BEGIN
SET @sqlstr= 'select * from Office where Location = ''SCG'''
EXEC (@sqlstr)
END
GO

Pozdrav,
Milovan
Re: [Ms SQL] rezultat poredjenja izraza 13.07.2005. u 13:00 · pre 259 meseci #6
Hvala veliko na pomoci, ova opasna caka sa OR je odradila stvar :)

Citat:
Ne treba da razbijate glavu oko stvari za koje se normalno primenjuje dinamicki SQL


Palo mi je na pamet isto, ali aplikacija koja koristi tu proceduru je nesto izbagovana i nece da radi sa procedurama koje imaju makar jedan declare ?! :(
Potpis
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme