【SQL】20代とかの年代のデータ取得したかった話

この記事は最新更新日から、6年以上経過しています。

誕生日がdatetimeじゃないのに年代別検索があるぞ…

int_birthday = 20040203;
みたいな形式でデータ入っていて、年代別に検索できるようにしろという命令があった
キャストしなきゃいけないのかなと思ったけど自動でキャストしてくれた、ありがたい

SELECT * FORM table1
WHERE (
FLOOR(((DATE_FORMAT(NOW(), '%Y%0000') ) - birthday)/ 100000) = :age
)

:ageに入れるデータはだらだらとこう書いてた

$birthday = 20040203;
$now = new DateTimeImmutable('now');
$now = $now->format('Ymd');
$age = floor(($now - $birthday)/100000);

無事取得できた…。