【发布时间】:2021-01-02 02:31:03
【问题描述】:
在 Azure SQL 数据仓库中创建表时指定 datetime2 字段格式的正确方法是什么?我似乎无法在文档中找到示例。
数据如下:
“2020-09-14T20:50:48.000Z”
CREATE TABLE [Foo].[Bar](
...
MyDateTime datetime2(['YYYY-MM-DDThh:mm:ss[.fractional seconds]')
)
【问题讨论】:
-
日期没有格式,它们是二进制值,就像
int、decimal或varbinary。没有如果或但是。仅当基于该二进制值生成字符串或将字符串解析为该二进制值时,格式才适用。格式化是 client 的工作,无论是 Web 应用程序还是报告引擎。毕竟,只有客户端知道最终用户的区域设置和区域设置 -
BTW 适用于所有 数据库产品,而不仅仅是 SQL Server。这就是允许数据库以任何语言环境、任何格式为客户提供服务的原因。如果您使用本地化格式存储日期 string ,则如果不使用完全相同的格式(别介意占用额外空间),您将无法读取它。更糟糕的是,没有办法检查不正确的解析——
4/7是什么? 7 月 4 日还是 4 月 7 日?
标签: azure data-warehouse azure-sqldw azure-synapse