我想提前一週,然後一週的當前周,但我的SQL查詢返回null。這裏是我的查詢從當年的當周減去一週
select date_sub(yearweek('2014-01-01'),INTERVAL 1 week)
什麼是錯的這個查詢
我想提前一週,然後一週的當前周,但我的SQL查詢返回null。這裏是我的查詢從當年的當周減去一週
select date_sub(yearweek('2014-01-01'),INTERVAL 1 week)
什麼是錯的這個查詢
試試這個
select date_sub(date('2014-01-01'),INTERVAL 1 week)
試試這個: -
DATE_SUB(date('2014-01-01'), INTERVAL 7 DAY)
或
SELECT '2014-01-01' - INTERVAL 1 WEEK
如果您想獲得日期前一週的YEARWEEK
,您可以這樣做: 注:YEARWEEK
結果爲6位數字,前4位數字爲週年,後2位數字爲週數。
SELECT YEARWEEK('2014-01-01' - INTERVAL 1 WEEK)
如果你需要得到date
這是一個給定的日期之前一個星期,然後:
SELECT '2014-01-01' - INTERVAL 1 WEEK
的問題是,DATE_SUB
需要一個日期作爲第一arguement,但今年一週返回yyyyww
即不是約會。所以這個:
SELECT yearweek('2014-01-01');
返回201352
,這是再隱式澆鑄爲日期,因爲它不是一個日期的結果爲空。您可以通過執行復制這樣的:如果你減去,每週從NULL
SELECT DATE(yearweek('2014-01-01'));
所以結果也是NULL
。
解決方法是先減去一週,然後拿到年終周:
SELECT yearweek(date_sub('2014-01-01', INTERVAL 1 WEEK));
,結果是201351
。
你在尋找週數嗎???如果是的話,請試試這個,如果它能爲你工作
Select DatePart(Week, Date add(day,-7,convert(date time,'01-jan-2014')))
請讓我知道,如果你正在尋找別的東西。
SELECT * FROM [table] WHERE WEEKOFYEAR(date) = WEEKOFYEAR(NOW()) - 1;