質問: redashでcached_queryをFROM句として読み込む際に YYYY-MM-DDのフォーマットで出したいカラムがあるのですが、 「2020-10-25 00:00」のように00:00も一緒に表示されてしまいます。 PostgreSQLでは下記のように抽出されたデータです。 ``` SELECT (【datetime型のカラム】 + interval '12 hour')::date AS A ``` **'2020-10-22 07:34'→(A抽出後)'2020-10-22'** SQLiteでこのデータをキャッシュした場合、 **2020-10-22 00:00** という表示になります。SQLiteはDate型がないとの事だったので、 * `strftime('%Y-%m-%d',A)` * `substr(A,1,10)` などを試してみたのですが、やはり `2020-10-22 00:00` のように末尾に「00:00」が出てきてしまいます。 解決方法を教えていただけないでしょうか。不慣れで恐縮ですが、よろしくお願いいたします。
回答: RedashのQuery Resultを使い、Redashのダッシュボードからクエリ画面を開いて実行するとご質問の状況に陥るようです。 duscuss.redash.io(Redashの公式フォーラム?)に類似質問がありました。 リンク先の回答によると、Redashのダッシュボードからクエリ画面を開いてクエリを実行した時、ダッシュボードのフロントエンド側でクエリ結果のキャストが行われます。 これによって`%Y-%m-%d`形式の文字列が自動的に日付型と判断され、クエリ結果に`00:00`付きで表示します。 そのためtable visualization settingからcolumn typeを"Text"に変更すると、未加工の文字列が表示されます。 つまり`00:00`はフロントエンドで勝手につけているだけで、内部的なクエリ結果は`%Y-%m-%d`形式のままです。 > > What you’ve described isn’t a bug but rather expected behavior. > > > 仕様です。とのこと。 ちなみにSQL Fiddleでは、ご質問のように`strftime`などの記述で正しく表示されますので、SQLによるフォーマット自体はご質問の表記でよろしいかと思います。