日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

不一样的 SQL Server 日期格式化

發(fā)布時間:2023/12/4 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 不一样的 SQL Server 日期格式化 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

不一樣的 SQL Server 日期格式化

Intro

最近統(tǒng)計一些數(shù)據(jù),需要按天/按小時/按分鐘來統(tǒng)計,涉及到一些日期的格式化,網(wǎng)上看了一些文章大部分都是使用 CONVERT 來轉(zhuǎn)換的,SQL Server 從 2012 開始增加了 FORMAT 方法,可以使用 FORMAT 來格式化日期,更標(biāo)準(zhǔn)化,更具可定制性,而且和 C# 里的日期格式化差不多,可以直接把 C# 里日期的格式直接拿過來用

FORMAT?介紹

FORMAT 適用于數(shù)字和日期類型數(shù)據(jù)的格式化,其他數(shù)據(jù)類型不支持,其他類型數(shù)據(jù)轉(zhuǎn)換請使用 CONVERT 和 CAST 去轉(zhuǎn)換。

語法

FORMAT ( value, format [, culture ] )

  • value

    支持格式化的數(shù)據(jù)類型的表達(dá)式。下表列出了 value 參數(shù)可接受的數(shù)據(jù)類型,其中還有相關(guān)的 .NET Framework 映射等效類型。

    類別 | 類型 | .NET 類型

    數(shù)字 | BIGINT | Int64 數(shù)字 | INT | Int32 數(shù)字 | SMALLINT | Int16 數(shù)字 | TINYINT | Byte 數(shù)字 | Decimal | Decimal 數(shù)字 | NUMERIC | Decimal 數(shù)字 | FLOAT | double 數(shù)字 | REAL | Single 數(shù)字 | SMALLMONEY | Decimal 數(shù)字 | money | Decimal 日期和時間 | date | DateTime 日期和時間 | time | TimeSpan 日期和時間 | DATETIME | DateTime 日期和時間 | smalldatetime | DateTime 日期和時間 | datetime2 | DateTime 日期和時間 | datetimeoffset | DateTimeOffset

  • formatnvarchar 格式模式。format 參數(shù)必須包含一個有效的 .NET Framework 格式字符串,要么作為標(biāo)準(zhǔn)格式字符串(例如,“C”或“D”),要么作為日期值和數(shù)值的自定義字符模式(例如,“MMMM DD, yyyy (dddd)”)。?不支持組合格式。?有關(guān)這些格式模式的完整解釋,請查閱有關(guān)常規(guī)字符串格式、自定義日期和時間格式以及自定義數(shù)字格式的 .NET Framework 文檔。

  • culture指定區(qū)域性的可選 nvarchar 參數(shù)。如果未提供 culture 參數(shù),則使用當(dāng)前會話的語言。?可以使用 SET LANGUAGE 語句隱式或顯式設(shè)置此語言。culture 接受 .NET Framework 支持的任何區(qū)域性作為參數(shù);它不局限于 SQL Server 顯式支持的語言。?如果 culture 參數(shù)無效,FORMAT 將引發(fā)錯誤。

返回值類型是 NVARCHAR 或者 NULL

示例

Query | Sample output

SELECT FORMAT (getdate(), 'dd/MM/yyyy ') | 21/03/2018 SELECT FORMAT (getdate(), 'dd/MM/yyyy, hh:mm:ss ') | 21/03/2018, 11:36:14 SELECT FORMAT (getdate(), 'dddd, MMMM, yyyy') | Wednesday, March, 2018 SELECT FORMAT (getdate(), 'MMM dd yyyy') | Mar 21 2018 SELECT FORMAT (getdate(), 'MM.dd.yy') | 03.21.18 SELECT FORMAT (getdate(), 'MM-dd-yy') | 03-21-18 SELECT FORMAT (getdate(), 'hh:mm:ss tt') | 11:36:14 AM SELECT FORMAT (getdate(), 'd','us') | 03/21/2018

和 C# 代碼里的格式化格式一致,可以直接使用 C# 里的日期時間格式,數(shù)字格式

  • SELECT FORMAT (getdate(), 'yyyyMMddHHmmss') >> 20190218033523

  • SELECT FORMAT (getdate(), 'yyyy-MM-dd HH:mm:ss') >> 2019-02-18 03:35:23

  • DECLARE @d DATETIME = GETDATE();

  • SELECT FORMAT( @d, 'dd/MM/yyyy', 'en-US' ) AS 'DateTime Result'

  • ,FORMAT(123456789,'###-##-####') AS 'Custom Number Result';

  • output:

  • DateTime Result Custom Number Result

  • -------------- --------------------

  • 27/09/2012 123-45-6789

  • (1 row(s) affected)

  • Reference

    • https://docs.microsoft.com/en-us/sql/t-sql/functions/format-transact-sql?view=sql-server-2017

    • https://docs.microsoft.com/ZH-CN/sql/t-sql/functions/format-transact-sql?view=sql-server-2017

    • https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/formatting-types

    • https://www.mssqltips.com/sqlservertip/1145/date-and-time-conversions-using-sql-server/

    • https://www.mssqltips.com/sqlservertip/2655/format-sql-server-dates-with-format-function/

    • http://www.cnblogs.com/firstdream/p/8074219.html

    總結(jié)

    以上是生活随笔為你收集整理的不一样的 SQL Server 日期格式化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。