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

SQL Server中將日期類型轉(zhuǎn)字符串的幾種常用寫法

 更新時(shí)間:2025年11月19日 08:56:48   作者:qq_36608622  
在 SQL Server 中,將 日期類型(如 DATE、DATETIME、DATETIME2)轉(zhuǎn)換為字符串,有多種方法,適用于不同版本和格式需求,本文給大家介紹了幾種常用且高效的寫法,需要的朋友可以參考下

前言

在 SQL Server 中,將 日期類型(如 DATE、DATETIME、DATETIME2)轉(zhuǎn)換為字符串,有多種方法,適用于不同版本和格式需求。以下是常用且高效的寫法:

1. 使用 CONVERT() 函數(shù)(推薦,兼容性好)

CONVERT 支持多種預(yù)定義的 style 編碼,可快速格式化日期。

常用格式示例:

DECLARE @dt DATETIME = '2025-11-14 15:30:45';

-- yyyy-MM-dd(標(biāo)準(zhǔn)日期)
SELECT CONVERT(VARCHAR, @dt, 23);  -- 結(jié)果: '2025-11-14'

-- yyyy-MM-dd HH:mm:ss
SELECT CONVERT(VARCHAR, @dt, 120); -- 結(jié)果: '2025-11-14 15:30:45'

-- MM/dd/yyyy
SELECT CONVERT(VARCHAR, @dt, 101); -- 結(jié)果: '11/14/2025'

-- dd/MM/yyyy
SELECT CONVERT(VARCHAR, @dt, 103); -- 結(jié)果: '14/11/2025'

-- yyyy年MM月dd日(需拼接)
SELECT 
    CAST(YEAR(@dt) AS VARCHAR) + '年' +
    RIGHT('0' + CAST(MONTH(@dt) AS VARCHAR), 2) + '月' +
    RIGHT('0' + CAST(DAY(@dt) AS VARCHAR), 2) + '日';
-- 結(jié)果: '2025年11月14日'

2. 使用 FORMAT() 函數(shù)(SQL Server 2012+,靈活但性能低)

適合需要自定義格式或本地化顯示(如中文)的場(chǎng)景。

DECLARE @dt DATETIME = '2025-11-14 15:30:45';

SELECT FORMAT(@dt, 'yyyy-MM-dd');        -- '2025-11-14'
SELECT FORMAT(@dt, 'yyyy/MM/dd');        -- '2025/11/14'
SELECT FORMAT(@dt, 'yyyy年MM月dd日');     -- '2025年11月14日'
SELECT FORMAT(@dt, 'MMM dd, yyyy');      -- 'Nov 14, 2025'
SELECT FORMAT(@dt, 'dddd, MMMM dd', 'zh-CN'); -- '星期五, 十一月 14'

注意:FORMAT() 性能較差,不要在大數(shù)據(jù)量查詢或 WHERE 條件中使用。

3. 拼接 YEAR() / MONTH() / DAY()(兼容老版本)

適用于 SQL Server 2008 及更早版本,或需要精確控制補(bǔ)零的情況。

DECLARE @dt DATE = '2025-11-05';

SELECT 
    CAST(YEAR(@dt) AS VARCHAR(4)) + '-' +
    RIGHT('0' + CAST(MONTH(@dt) AS VARCHAR(2)), 2) + '-' +
    RIGHT('0' + CAST(DAY(@dt) AS VARCHAR(2)), 2) AS FormattedDate;
-- 結(jié)果: '2025-11-05'

各方法對(duì)比

實(shí)際應(yīng)用示例

場(chǎng)景:按“年月”分組統(tǒng)計(jì)訂單(高性能寫法)

SELECT 
    LEFT(CONVERT(VARCHAR, OrderDate, 23), 7) AS YearMonth,
    COUNT(*) AS OrderCount
FROM Orders
GROUP BY LEFT(CONVERT(VARCHAR, OrderDate, 23), 7)
ORDER BY YearMonth;

錯(cuò)誤做法(避免?。?/p>

-- 不要這樣寫:隱式轉(zhuǎn)換不可靠,且格式依賴系統(tǒng)設(shè)置
SELECT '' + GETDATE();  -- 結(jié)果不確定!

-- 不要在 WHERE 中用 FORMAT 或 CONVERT 包裹字段
WHERE FORMAT(OrderDate, 'yyyy-MM') = '2025-11';  -- 全表掃描!

以上就是SQL Server中將日期類型轉(zhuǎn)字符串的幾種常用寫法的詳細(xì)內(nèi)容,更多關(guān)于SQL Server日期類型轉(zhuǎn)字符串的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

许昌县| 明光市| 怀安县| 乡城县| 赫章县| 盐源县| 恩平市| 保亭| 柳江县| 二连浩特市| 巨鹿县| 肥东县| 安吉县| 安义县| 阿克| 天气| 仁寿县| 望谟县| 吴桥县| 南溪县| 汉沽区| 虞城县| 新昌县| 梁山县| 乌恰县| 浦东新区| 巫山县| 荣昌县| 太保市| 英山县| 玛曲县| 阿拉善盟| 达州市| 昭觉县| 东源县| 广西| 桐柏县| 新巴尔虎右旗| 宝丰县| 兴海县| 新蔡县|