跳到主要內容

SQL.得出上個月第三週第三天的日期

一直以來都是有了日期資料之後,針對此日期資料做處理,這次看到一個考題是相反的,反而是要得到一個日期。

declare
@dd varchar(10),
@week int, --第幾週(初始 = 0)
@weekname int; --星期幾(sunday = 0)

set @dd = '2017/12/31' --convert(char(10), dateadd(m, -2, getdate()), 111) --yyyy/mm/dd
set @week = 2
set @weekname = 2

select
dateadd(day, -day(@dd)+1, convert(datetime, convert(datetime, convert(date, @dd)))) 'first day of the month', --每月第一天
dateadd(week, @week, dateadd(day, -day(@dd)+1, convert(datetime, convert(datetime, convert(date, @dd))))), --取週別
datediff(week, 0, dateadd(week, @week, dateadd(day, -day(@dd)+1, convert(datetime, convert(datetime, convert(date, @dd)))))),
dateadd(week, datediff(week, 0, dateadd(week, @week, dateadd(day, -day(@dd)+1, convert(datetime, convert(datetime, convert(date, @dd)))))), @weekname) ans,
datename(weekday, @weekname)

結果如下:



自行替換 parameters: @dd, @week, @weekname


--
考語法沒道理用筆試啊。

留言

這個網誌中的熱門文章

鹽酥雞椒鹽粉

非常厲害的調味粉。 煎甜不辣和炸四季豆都非常適合,但你以為只有這樣嗎?連加在稀飯裡、撒在蛋液裡都好吃到讓我驚慌。 總之很不得了,所以要在blog特別記錄一下。 --

包紅包的條件

很想列出很多要我紅包的條件, 但深怕有一天,我需要別人包紅包時, 別人也拿一堆條件來壓迫我, 所以縮減成一個條件就好。 就是至少要知道我的名字。 不是張呆于, 喜帖寫張呆于,我可能還是會去, 但只包10塊錢。 也不是炸彈, 喜帖寫炸彈,我可能還是會去, 但只包1塊錢。 為什麼只有1塊錢, 叫張呆于卻可以有10塊錢呢? 因為炸彈只有2個字。 也不是炸丹丹, 喜帖寫炸丹丹,我可能還是會去, 但一毛也不包, 因為你很明顯只是看了MSN暱稱或facebook暱稱才丟給我。 至於那個還要問我, 我的名字叫什麼的, 我還是會說我的名字是什麼, 但喜帖上寫「XXX」(別想我會在這梩說出我的名字啊!) 我是不會去的。 紅包也不會包的。 --

一切敗在甜辣醬

這次下班後我自己去買馬鈴薯、紅蘿蔔、洋蔥、洋菇、牛蕃茄, 一切都準備好了。 回家又洗又切又削皮又剝皮忙的不得了。 一切都放下去煮好了,連紅蘿蔔都軟了, 試喝一口之後覺得湯不夠酸, 所以想加一些蕃茄醬, 冰箱一打開,俐落的拿起蕃茄醬(Ketchup)就往鍋裡倒, 倒完將瓶子放在桌上時, 才發現他是甜辣醬。 才發現他是甜辣醬。 才發現他是甜辣醬。 太惱羞了,照片都不想拍了。 我媽還安慰我說甜辣醬跟蕃茄醬味道差不多啦, 只是喝起來還會有一點辣辣的口感。 這麼正向是遺傳誰。 晚上Marcus找到了一個說明蕃茄醬有哪幾種的網站: http://dodocook.blogspot.com/2011/11/16171920-tomato-ketchup-ketchup-by.html --