sql >> データベース >  >> RDS >> PostgreSQL

クエリ中にローカルタイムゾーンで時刻を日付に変換する方法

    ついにそれが機能するようになりました!あまりきれいではありませんが(そして私はよりクリーンな解決策があることを望んでいます)、これはうまくいきました:

    >> Payment.all(:conditions => 
                  ["Date((payments.created_at at time zone 'UTC') 
                    at time zone :timezone) >= :start_date and 
                    Date((payments.created_at at time zone 'UTC') 
                    at time zone :timezone) <= :end_date",
                   :start_date => start_date, :end_date => end_date, 
                   :timezone => 'Asia/Katmandu'])
    

    しかし、これをしなければならないことはあまり好きではありません:

    Date((payments.created_at at time zone 'UTC') at time zone 'Asia/Katmandu')
    

    なぜpostgresqlではこれができないのですか?

    Date(payments.created_at at 'Asia/Katmandu')
    


    1. SQL Server 2005 の動的列を使用したクロス集計クエリ

    2. SQLクエリの実行ごとにランダムな一意のレコードを選択する方法

    3. トランスポートにデータを書き込めません。 Vs2017 ASP.netコアスキャフォールディング(MSSQL WINDOW 10)

    4. HOUR()の例– MySQL