18 Mar 2014

[SQL]30日間のキャンペーン期間が、当月内に存在するか。

人によって開始日の異なる、30日間のキャンペーン期間が、当月内に存在するか。
また当月内のキャンペーン期間の該当日数の合計を求めたい。

 おぼえがき

CASE文で集約する
SELECT 
SUM(
CASE 
   WHEN LAST_DAY(CURDATE()) = LAST_DAY(start_date) THEN DATEDIFF(LAST_DAY(CURDATE()), start_date)
   WHEN DATE_FORMAT(LAST_DAY(CURDATE() - INTERVAL 1 MONTH),"%Y%m") = DATE_FORMAT(start_date,"%Y%m") THEN 30 - DATEDIFF(LAST_DAY(CURDATE() - INTERVAL 1 MONTH ), start_date)
   ELSE 0 END 
) as days

4 Mar 2014

Haskell の 演算子

Haskell の >>= とか<$> とか <*> とか、間にはさまるものがよくわからないので、調べています。

なんでdo 構文だと -> なの?とか。


Haskell Operators and other Lexical Notation

http://www.imada.sdu.dk/~rolf/Edu/DM22/F06/haskell-operatorer.pdf

を見ると、<$>とかは記載されていない…