by shigemk2

当面は技術的なことしか書かない

Presto date_formatでGENERIC_INTERNAL_ERROR: String index out of range

SELECT DATE_FORMAT(now() AT TIME ZONE 'Asia/Tokyo', '%Y年%m月%d日')

こんなクエリを投げると、GENERIC_INTERNAL_ERROR: String index out of range: 9 って返ってくる。詳細なエラーはない。本当にこれだけ。まあdate_format関数のフォーマット書式に日本語が入っているのが駄目なんだろうけど。

期待薄だけどissueは投げた

Prestoのフォーマットのパースにはjodaを使っているようだから2.10.2と2.4で試したけど、jodaのforPatternは日本語には対応しているから、jodaが原因ではないようなんだよな、わからないけど。

scala> import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormat

scala> DateTimeFormat.forPattern("yyyy年MM月dd日")
res0: org.joda.time.format.DateTimeFormatter = org.joda.time.format.DateTimeFormatter@65f6c623

scala> DateTimeFormat.forPattern("yyyy年MM月dd日").parseDateTime("2011年10月31日")
res1: org.joda.time.DateTime = 2011-10-31T00:00:00.000+09:00