■unixtimeからdatetimeに
--UTC
dateadd(s,1490972400,'1970-01-01')
--JST(msがない場合)
dateadd(s,1490972400,'1970-01-01 9:00:00')
--JST(msまである場合1)
dateadd(s,cast(substring(cast(1508203163081 as varchar),1,10) as bigint),'1970-01-01 9:00:00')
--JST(msまである場合2。やっていることは1と同じでms以下の部分を切り捨てている)
dateadd(s,1508203163081/1000,'1970-01-01 9:00:00')
--上記で「expression をデータ型 int に変換中に、算術オーバーフロー エラーが発生しました。」みたいなエラーが発生する場合は、intの範囲を超えている行があるので、bigintか何かにCASTしてやればOK
dateadd(s,cast(1508203163081 as bigint)/1000,'1970-01-01 9:00:00')
■datetimeからunixtimeに
UNIX_TIMESTAMP('2017-04-01 00:00:00')
■datetimeからdateに
CONVERT(date, '2017-04-01 00:00:00')