SQL Server Indonesia User Groups Community July 2008 - Posts - Cahyo drop in {here}

SQL Server Indonesia User Groups Community

SQL Server Indonesia User Groups Community
Welcome to SQL Server Indonesia User Groups Community Sign in | Join | Help
in Search

Cahyo drop in {here}

SQL as breakfast, BI for lunch and dinner with MDX

July 2008 - Posts

  • Mencari hari ke - n dalam suatu bulan

    Menjawab pertanyaan di milis sekaligus untuk meramaikan sqlserver-indo.org kita ^_^

     

    Pertanyaan dari hendra.tala.a@gmail.com: 

    bagaimana caranya untuk mendapatkan bahwa tanggal 14-07-2008 adalah senin ke 2 dalam bulan ini, meskipun 14-07-2008 berada pada minggu ke 3

    minta tolong pakar sql

    terima kasih

     

    Jawaban :

    declare @date datetime,@dayname varchar(10),@datenumber int,@daycount int

    set @date='20080714'
    set @dayname=(select datename(dw,@date))
    set @datenumber=(select datepart(d,@date))
    set @daycount=0

    while (@datenumber>0)
    begin
    set @datenumber=@datenumber-7
    set @daycount=@daycount+1
    end

    select case
            when @dayname='Monday' then 'Senin'   
            when @dayname='Tuesday' then 'Selasa'   
            when @dayname='Wednesday' then 'Rabu'   
            when @dayname='Thursday' then 'Kamis'   
            when @dayname='Friday' then 'Jumat'   
            when @dayname='Saturday' then 'Sabtu'   
            when @dayname='Sunday' then 'Minggu'   
           end
            +' ke '+cast(@daycount as char)

     

     Quiz: Algoritma di atas sebenarnya sangat sederhana. Tanpa menggunakan looping pun bisa diselesaikan. Kuncinya ada pada angka 7, penjumlahan, pengurangan dan pembagian. Ada yang mau menjawab?

     Jawaban Quiz:

    DECLARE @Date datetime SET @Date = '2008-02-09'

    SELECT datename(dw,@date)+' ke '+cast((DATEPART(day,@Date)-1)/7+1 AS char)

More Posts
Powered by Community Server (Commercial Edition), by Telligent Systems