簡體   English   中英

在 Azure SQL 數據倉庫(突觸)中指定 datetime2 格式

[英]Specify datetime2 format in Azure SQL data warehouse (synapse)

在 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
)

如果您對格式化查詢中的結果感興趣,可以查看CONVERTFORMAT函數。 例如,如果您想要格式dd-mm-yyyy (意大利日期),則可以使用以下任一方法:

SELECT
    CONVERT(VARCHAR, CURRENT_TIMESTAMP, 105)
    , FORMAT(CURRENT_TIMESTAMP, 'dd-MM-yyyy')

注意: CONVERT通常比FORMAT快,如果您有受支持的日期格式,則推薦使用這種方法。 這是因為FORMAT函數依賴於包含上下文/進程跳轉的 CLR。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM