2012. május 27., vasárnap

T-SQL lottószám generátor

Komolytalan, szombat esti móka, de legalább jó példa arra, hogy a RAND() függvénnyel hogyan kaphatunk vissza 1 és 90 közti egész számot.
  1. DECLARE @i tinyint;  
  2. DECLARE @t as table (nNumber tinyint);  
  3.   
  4. WHILE (SELECT COUNT(*) FROM @t) < 5  
  5.     BEGIN  
  6.         SET @i = ROUND (((90-1) * RAND()) +1, 0)  
  7.         IF NOT EXISTS (SELECT nNumber FROM @t WHERE nNumber = @i)  
  8.             BEGIN  
  9.                 INSERT INTO @t (nNumber) VALUES (@i)  
  10.             END  
  11.     END;  
  12.       
  13. SELECT nNumber FROM @t ORDER BY nNumber;
Akinek ezzel a kóddal sikerül elvinnie az ötöst, az ne feledkezzen meg rólam! ;)

2012. május 20., vasárnap

ISNULL vagy COALESCE

Két napja bukkantam egy érdekes cikkre az MSSQLTips-en, Aaron Bertrand-tól, amiben az ISNULL és a COALESCE viselkedését hasonlítja össze. Talán nem egy millió forintos kérdés, de hibakeresésnél, vagy milliszekundumokra kihegyezett lekérdezéseknél jól jöhet, érdemes elolvasni.

Akinek nincs ennyi ideje, vagy csak lusta :), azoknak hajtás utánra kanyarítottam egy összefoglalót.