最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL Server中設(shè)置日期顯示格式的四種方法

 更新時(shí)間:2026年03月31日 08:49:17   作者:StevenChen85  
本文介紹了SQLServer中設(shè)置日期顯示格式的四種方法,我會(huì)從基礎(chǔ)格式轉(zhuǎn)換(CONVERT/FORMAT 函數(shù))、常用格式示例、自定義格式和全局設(shè)置四個(gè)維度講解,覆蓋日常開發(fā)中所有常見的日期顯示場景,需要的朋友可以參考下

SQL Server 中日期的顯示格式設(shè)置方法,我會(huì)從基礎(chǔ)格式轉(zhuǎn)換(CONVERT/FORMAT 函數(shù))、常用格式示例自定義格式全局設(shè)置四個(gè)維度講解,覆蓋日常開發(fā)中所有常見的日期顯示場景。

一、核心函數(shù):CONVERT(兼容所有版本,推薦)

CONVERT 是 SQL Server 最基礎(chǔ)、兼容性最好的日期格式轉(zhuǎn)換函數(shù),語法:

CONVERT(目標(biāo)類型, 日期值, 格式代碼) 
  • 目標(biāo)類型:通常為 VARCHAR/NVARCHAR(如 VARCHAR(20));
  • 格式代碼:SQL Server 預(yù)定義的數(shù)字編碼,對(duì)應(yīng)不同日期格式。

1. 最常用的預(yù)定義格式(必記)

DECLARE @Date DATETIME = GETDATE(); -- 當(dāng)前日期時(shí)間
-- 1. 僅日期(YYYY-MM-DD):格式代碼 23
SELECT CONVERT(VARCHAR(10), @Date, 23) AS 日期_YYYYMMDD; -- 輸出:2026-02-27
-- 2. 僅時(shí)間(HH:MI:SS):格式代碼 8
SELECT CONVERT(VARCHAR(8), @Date, 8) AS 時(shí)間_HHMMSS; -- 輸出:15:30:45
-- 3. 日期+時(shí)間(YYYY-MM-DD HH:MI:SS):格式代碼 120
SELECT CONVERT(VARCHAR(19), @Date, 120) AS 日期時(shí)間_完整; -- 輸出:2026-02-27 15:30:45
-- 4. 純數(shù)字日期(YYYYMMDD):格式代碼 112
SELECT CONVERT(VARCHAR(8), @Date, 112) AS 日期_純數(shù)字; -- 輸出:20260227(適配你的分表名)
-- 5. 中文格式(YYYY年MM月DD日):格式代碼 111 + 替換符號(hào)
SELECT REPLACE(REPLACE(CONVERT(VARCHAR(10), @Date, 111), '/', '年'), '/', '月') + '日' AS 日期_中文;
-- 輸出:2026年02月27日
-- 6. 帶毫秒的時(shí)間(HH:MI:SS.MMM):格式代碼 121
SELECT CONVERT(VARCHAR(23), @Date, 121) AS 日期時(shí)間_帶毫秒; -- 輸出:2026-02-27 15:30:45.123

2. 常用格式代碼速查表

格式代碼格式示例適用場景
815:30:45僅顯示時(shí)間
1002-27-26美式短日期(MM-DD-YY)
232026-02-27標(biāo)準(zhǔn)日期(推薦)
10102/27/2026美式日期(MM/DD/YYYY)
11220260227純數(shù)字日期(分表名 / 文件名)
1202026-02-27 15:30:45標(biāo)準(zhǔn)日期時(shí)間(推薦)
1212026-02-27 15:30:45.123帶毫秒的日期時(shí)間

二、靈活自定義:FORMAT 函數(shù)(SQL Server 2012+)

FORMAT 函數(shù)支持自定義格式字符串(和 C#/.NET 的日期格式一致),靈活性更高,語法:

FORMAT(日期值, '自定義格式', '區(qū)域設(shè)置') 

1. 常用自定義格式示例

DECLARE @Date DATETIME = GETDATE();
-- 1. 自定義日期(YYYY年MM月DD日 HH時(shí)MI分SS秒)
SELECT FORMAT(@Date, 'yyyy年MM月dd日 HH時(shí)mm分ss秒') AS 日期_中文完整;
-- 輸出:2026年02月27日 15時(shí)30分45秒
-- 2. 短日期(YY-MM-DD)
SELECT FORMAT(@Date, 'yy-MM-dd') AS 日期_短格式; -- 輸出:26-02-27
-- 3. 星期幾
SELECT FORMAT(@Date, 'dddd') AS 星期_英文; -- 輸出:Friday
SELECT FORMAT(@Date, 'dddd', 'zh-CN') AS 星期_中文; -- 輸出:星期五
-- 4. 月份名稱
SELECT FORMAT(@Date, 'MMMM', 'zh-CN') AS 月份_中文; -- 輸出:二月
-- 5. 24小時(shí)制/12小時(shí)制
SELECT FORMAT(@Date, 'hh:mm:ss tt') AS 時(shí)間_12小時(shí)制; -- 輸出:03:30:45 下午
SELECT FORMAT(@Date, 'HH:mm:ss') AS 時(shí)間_24小時(shí)制; -- 輸出:15:30:45

2. 自定義格式符速查表

格式符說明示例
yyyy4 位年2026
yy2 位年26
MM2 位月(補(bǔ) 0)02
M1 位月(不補(bǔ) 0)2
dd2 位日(補(bǔ) 0)27
d1 位日(不補(bǔ) 0)27
HH24 小時(shí)制(補(bǔ) 0)15
hh12 小時(shí)制(補(bǔ) 0)03
mm分鐘(補(bǔ) 0)30
ss秒(補(bǔ) 0)45
fff毫秒123
tt上午 / 下午(12 小時(shí)制)下午

三、全局格式設(shè)置(影響會(huì)話 / 服務(wù)器)

如果希望整個(gè)會(huì)話 / 服務(wù)器的日期顯示格式統(tǒng)一,可修改 DATEFORMAT 或服務(wù)器配置:

1. 會(huì)話級(jí)設(shè)置(僅當(dāng)前連接有效)

-- 設(shè)置日期解析/顯示的順序:年-月-日(dmy=日-月-年,mdy=月-日-年)
SET DATEFORMAT ymd;
-- 設(shè)置語言(影響日期的中文/英文顯示)
SET LANGUAGE Chinese; -- 中文
-- SET LANGUAGE English; -- 英文
-- 驗(yàn)證:默認(rèn)顯示格式會(huì)隨語言變化
SELECT GETDATE() AS 默認(rèn)日期格式;

2. 服務(wù)器級(jí)設(shè)置(需管理員權(quán)限)

通過 SSMS 修改:

  1. 右鍵服務(wù)器 → 「屬性」→ 「高級(jí)」;
  2. 找到「默認(rèn)語言」「日期格式」,修改后重啟 SQL Server 服務(wù)。

不建議修改服務(wù)器級(jí)格式,容易影響其他業(yè)務(wù),優(yōu)先用 CONVERT/FORMAT 局部轉(zhuǎn)換。

四、實(shí)戰(zhàn)場景示例

場景 1:生成分表名(如 DefectResult2026021)

-- 獲取當(dāng)前年月的純數(shù)字格式,拼接到分表名
DECLARE @TableName NVARCHAR(100);
SET @TableName = N'DefectResult' + CONVERT(VARCHAR(6), GETDATE(), 112) + N'1';
SELECT @TableName AS 分表名; -- 輸出:DefectResult2026021

場景 2:查詢結(jié)果顯示中文日期

-- 查詢訂單表,顯示中文格式的下單時(shí)間
SELECT 
    OrderID,
    FORMAT(CreateTime, 'yyyy年MM月dd日 HH:mm:ss', 'zh-CN') AS 下單時(shí)間,
    FORMAT(CreateTime, 'dddd', 'zh-CN') AS 下單星期
FROM Orders;

場景 3:按指定格式篩選日期

-- 篩選2026年2月的訂單(用112格式避免格式?jīng)_突)
SELECT * 
FROM Orders
WHERE CONVERT(VARCHAR(6), CreateTime, 112) = '202602';

五、避坑點(diǎn)

  1. 避免直接比較字符串日期:? 錯(cuò)誤:WHERE CONVERT(VARCHAR(10), CreateTime, 23) = '2026-02-27'? 正確:WHERE CreateTime >= '2026-02-27' AND CreateTime < '2026-02-28'(直接比較日期類型,利用索引)。
  2. FORMAT 函數(shù)性能問題FORMAT 靈活性高但性能低于 CONVERT,大數(shù)據(jù)量查詢(如百萬級(jí))優(yōu)先用 CONVERT。
  3. NULL 日期處理:轉(zhuǎn)換前先用 ISNULL 處理 NULL,避免結(jié)果為 NULL:
SELECT ISNULL(CONVERT(VARCHAR(10), CreateTime, 23), '未填寫') AS 日期
FROM Users;

總結(jié)

  1. 兼容性優(yōu)先:用 CONVERT(字段, 格式代碼)(如 23=YYYY-MM-DD、112=YYYYMMDD),適配所有 SQL Server 版本;
  2. 靈活性優(yōu)先:SQL Server 2012+ 用 FORMAT(字段, '自定義格式', 'zh-CN'),支持中文 / 自定義格式;
  3. 核心場景
    • 分表名 / 文件名:用 CONVERT(..., 112) 生成純數(shù)字日期;
    • 前端展示:用 FORMAT 生成中文 / 自定義格式;
    • 日期篩選:直接比較日期類型,避免轉(zhuǎn)換為字符串;
  4. 避坑:避免全局修改日期格式,優(yōu)先局部轉(zhuǎn)換;大數(shù)據(jù)量場景慎用 FORMAT。

以上就是SQL Server中設(shè)置日期顯示格式的四種方法的詳細(xì)內(nèi)容,更多關(guān)于SQL Server設(shè)置日期顯示格式的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SSB(SQLservice Service Broker) 入門實(shí)例介紹

    SSB(SQLservice Service Broker) 入門實(shí)例介紹

    前兩天用了 MSsql里的 SSB委托機(jī)制,做了一個(gè)消息分發(fā)的小功能,在這里簡單跟大家分享一下方法跟實(shí)例
    2013-04-04
  • StarRocks(SR)的基本概念、架構(gòu)及基本使用詳解

    StarRocks(SR)的基本概念、架構(gòu)及基本使用詳解

    StarRocks是一款高性能、實(shí)時(shí)、MPP架構(gòu)的現(xiàn)代化分布式SQL數(shù)據(jù)庫,適用于OLAP場景,支持標(biāo)準(zhǔn)SQL,具備亞秒級(jí)查詢響應(yīng)能力,適用于實(shí)時(shí)報(bào)表、多維分析、用戶畫像等場景,本文介紹StarRocks(SR)的基本概念、架構(gòu)及基本使用介紹,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • SQL Server死鎖排查的實(shí)戰(zhàn)指南

    SQL Server死鎖排查的實(shí)戰(zhàn)指南

    死鎖是指在一組進(jìn)程中的各個(gè)進(jìn)程均占有不會(huì)釋放的資源,但因互相申請(qǐng)被其他進(jìn)程所站用不會(huì)釋放的資源而處于的一種永久等待狀態(tài),本文給大家詳細(xì)介紹了SQL Server死鎖排查的實(shí)戰(zhàn)指南,需要的朋友可以參考下
    2025-09-09
  • Sql Server查詢性能優(yōu)化之不可小覷的書簽查找介紹

    Sql Server查詢性能優(yōu)化之不可小覷的書簽查找介紹

    書簽查找這個(gè)詞可能對(duì)于很多開發(fā)人員比較陌生,很多人都遇到過,但是卻沒引起足夠的重視以至于一直都忽略它的存在了
    2012-05-05
  • SQL Server之JSON 函數(shù)詳解

    SQL Server之JSON 函數(shù)詳解

    本篇文件將結(jié)合MSND簡要分析Sqlserver中JSON函數(shù),主要包括ISJSON,JSON_VALUE,JSON_MODIFY,JSON_QUERY,需要的朋友可以參考下
    2019-11-11
  • sqlserver 存儲(chǔ)過程分頁代碼

    sqlserver 存儲(chǔ)過程分頁代碼

    sqlserver 存儲(chǔ)過程分頁代碼并說明了用vc#調(diào)用上面的存儲(chǔ)過程
    2010-06-06
  • 學(xué)會(huì)sql數(shù)據(jù)庫關(guān)系圖(Petshop)

    學(xué)會(huì)sql數(shù)據(jù)庫關(guān)系圖(Petshop)

    花了這么多時(shí)間最終還是回到了數(shù)據(jù)庫,但是數(shù)據(jù)庫中一張一張的表格找不到腳本,也不是自己設(shè)計(jì)的數(shù)據(jù)庫,完全沒有一點(diǎn)頭緒,后來突然想起來sql有個(gè)數(shù)據(jù)庫關(guān)系圖,可以很快的適合數(shù)據(jù)庫程序員很快的掌握數(shù)據(jù)庫表之間的關(guān)系
    2012-08-08
  • sqlserver2005 行列轉(zhuǎn)換實(shí)現(xiàn)方法

    sqlserver2005 行列轉(zhuǎn)換實(shí)現(xiàn)方法

    sqlserver2005 行列轉(zhuǎn)換實(shí)現(xiàn)方法,需要的朋友可以參考下。
    2009-10-10
  • 生成300個(gè)不同的隨機(jī)數(shù)的SQL語句

    生成300個(gè)不同的隨機(jī)數(shù)的SQL語句

    最近在做一個(gè)項(xiàng)目,涉及到要生成N個(gè)8位的不重復(fù)的純數(shù)字隨機(jī)數(shù)作為優(yōu)惠碼,研究了一番,把結(jié)果分享給大家
    2014-08-08
  • 基于SQL Server OS的任務(wù)調(diào)度機(jī)制詳解

    基于SQL Server OS的任務(wù)調(diào)度機(jī)制詳解

    本篇文章小編為大家介紹,基于SQL Server OS的任務(wù)調(diào)度機(jī)制詳解。需要的朋友參考下
    2013-04-04

最新評(píng)論

饶阳县| 武陟县| 新安县| 涿鹿县| 眉山市| 金溪县| 上思县| 山丹县| 同仁县| 吉木乃县| 嘉善县| 高尔夫| 绩溪县| 沾化县| 邹城市| 鄯善县| 长岭县| 南靖县| 新余市| 肇东市| 林西县| 车致| 新竹市| 互助| 谢通门县| 华阴市| 株洲市| 汝州市| 大城县| 沾益县| 清新县| 桦南县| 甘肃省| 抚州市| 渭源县| 江北区| 闻喜县| 冕宁县| 莱阳市| 庄河市| 陇西县|