当前,在从 JVM SimpleDateFormat domain 转换时间戳时,我遇到了 Azure SQL DW 的限制。 至 SQL DW's DateFormat domain.
在我当前的场景中,我们使用 Spark 执行数据清理,当数据写出为 CSV 文件时,它会写出为以下格式的时间戳:
- “yyyy-MM-dd'T'HH:mm:ss.SSSXXX”
- 2001-07-04T12:08:56.235-07:00
查看 DATE_FORMAT 选项下的 DateTimeOffset,不支持上述输出中的粗体 T。
有没有办法直接将传入的字符串解释为DateTime类型?
我当前的策略是将其作为 VARCHAR 加载并稍后进行清理。
最佳答案
看起来,除非您在日期时间到达 SQL DW 之前对其进行转换,否则由于 T,它不会被解释为日期时间。您最好的选择是将其作为 varchar,然后将其转换为 SQL DW 中的日期时间:此处列出:https://msdn.microsoft.com/en-us/library/ms187928.aspx#Examples: Azure SQL Data Warehouse and Parallel Data Warehouse
我建议也在 feature request portal 中投票以获得更灵活的日期时间格式,这样您就不必经历此过程
关于java - Azure SQL 数据仓库 - JVM SimpleDateFormat 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40446638/