69410


timezone から当日0時の値を求めたいです  
プログラムだと beggining_of_day とか mktime とかでできそうなのですが

<https://dev.mysql.com/doc/refman/5.6/ja/date-and-time-functions.html>

ここにある時間関数だけで  
時刻以降を０にセットするというのが MySQL 関数だけでどう書けばいいのかわかりません

[code]

    SELECT CONVERT_TZ(NOW(), 'UTC', 'Asia/Tokyo')
    
[/code]

でタイムゾーン時刻は取得できるので  
１度文字列に変換して substring をとって 00:00:00 をくっつけてからまた文字列をパースする  
みたいなことをすればできなくはなさそうですが文字列を介すとなんとなく処理が重そうなので  
１日分の秒数の MOD を取って引いたりとかでスマートにやる方法ってないでしょうか


CC BY-SA 4.0
2020-08-07T06:02:31.503
69325
2020-08-10T05:02:33.930
2020-08-07T06:40:03.487
question
mysql
MySQL で任意のタイムゾーンの当日0時の値を求めたい


処理が軽いかどうかはわからないのですが、次のような感じでできると思います。

[code]

    mysql> SELECT TIMESTAMP(DATE(CONVERT_TZ(NOW(), 'UTC', 'Asia/Tokyo')));
    +---------------------------------------------------------+
    | TIMESTAMP(DATE(CONVERT_TZ(NOW(), 'UTC', 'Asia/Tokyo'))) |
    +---------------------------------------------------------+
    | 2020-08-10 00:00:00                                     |
    +---------------------------------------------------------+
    1 row in set (0.00 sec)
    
[/code]

`DATE()` で一旦日付に変換してから `TIMESTAMP()` で日時に変換してます。


CC BY-SA 4.0
2020-08-10T05:02:33.930
69410
2020-08-10T05:02:33.930
3249
69325
answer