如何解决在Azure SQL数据仓库synapse中指定datetime2格式
在Azure SQL数据仓库中创建表时,指定datetime2字段格式的正确方法是什么?我似乎无法在文档中找到示例。
数据如下:
“ 2020-09-14T20:50:48.000Z”
CREATE TABLE [Foo].[Bar](
...
MyDateTime datetime2(['YYYY-MM-DDThh:mm:ss[.fractional seconds]')
)
解决方法
正如Panagiotis所指出的,基本表示形式是实际日期值的int / long。这就是RDBMS引擎如何快速计算两个日期之间的差异(星期一和星期五之间的几天是一个简单的减法问题)。要回答您的问题,只需将创建表的格式设置为:
CREATE TABLE [Foo].[Bar](
...
MyDateTime datetime2
)
如果您对查询结果的格式感兴趣,可以查看CONVERT或FORMAT函数。例如,如果要使用格式 dd-mm-yyyy (意大利语日期),则可以使用以下任一格式:
SELECT
CONVERT(VARCHAR,CURRENT_TIMESTAMP,105),FORMAT(CURRENT_TIMESTAMP,'dd-MM-yyyy')
注意: CONVERT 通常比 FORMAT 快,如果您支持的日期格式,则建议使用此方法。这是因为 FORMAT 函数依赖CLR,它将包含上下文/进程跳转。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。