2009/09/28

MySQL から ADO 経由で取得した日付が化ける

MySQL から ADO 経由で取得した日付が化ける

MySQL のコマンドラインからは問題ないのに、ADO経由で取得すると日付が化ける事がある

select curdate(); → 2009/09/28
select curdate() + 0; → 20090928 (2009万~という数値)

下記の様に、文字列を期待して、取得すると文字化けする
select concat('TodayIs: ', curdate());
select substring(curdate(), 1, 4);

date_format を利用するか、cast関数を使用して、文字へキャストして扱う
select substring(cast(curdate() as char), 1, 7); → 2009-09
※ 区切りがハイフンになるので注意

0 件のコメント: