31 Mart 2011 Perşembe

SQL NEWID Fonksiyonu

AdventureWorks veri tabanında, Production.Product tablsoundaki kayıtlardan rastegele seçilen 10 ürünü gösterelim. Bu işlemi NEWID fonksiyonunu kullanarak yapabiliriz. Bu fonksiyon yeni bir kolon oluşturur. Oluşan bu kolondaki her bir satır için GUID (Global Unique Idendifier) değerler üretir. Bu değerler özgün olup, sadece bir kere üretileceğinden dolayı, sorgu her çalıştığında farklı GUID’ler üretir.

İlk olarak, NewId() fonksiyonunun oluşturduğu kolonu görelim.

SELECT NEWID()[Rastgele Değer] , * FROM Production.Product

Yukarıdaki kodu çalıştırdığımızda aşağıdaki gibi bir sonuç alacağız.

Untitled

 

Rastegele ilk 10 ürünü göstermek istediğimizde ise, sıralamamızı NEWID() fonksiyonunun ürettiği GUID() değerlere göre yapmamız gerekir. Sorgu her çalıştığında farklı GUID’ler üretileceğinden, elde ettiğimiz ürünler de farklı olacaktır.

SELECT TOP 10 NEWID()[Rastgele Değer], * FROM Production.Product

ORDER BY NEWID()

Untitled2

Yukarıda, Oluşan GUID’leri görmek için SELECT ifadesine NEWID() fonksiyonunu da yazdık. Ama genelde bu id’leri göstermek istemeyiz. Bu durumda sadece ORDER BY ifadesinde fonksiyonu kullanmak yeterli olacaktır

SELECT TOP 10 * FROM Production.Product

ORDER BY NEWID()

Untitled3

İstediğimiz gibi rastgele 10 ürünü elde etmiş olduk.



0 yorum:

Yorum Gönder