最新国产好看的视频,伊人天堂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)論

土默特右旗| 台前县| 沁源县| 西平县| 广德县| 乃东县| 肥乡县| 奉贤区| 怀柔区| 锦州市| 托克托县| 安顺市| 芜湖市| 龙游县| 长垣县| 会理县| 曲水县| 邻水| 安顺市| 靖安县| 晋中市| 湛江市| 文登市| 富锦市| 全南县| 正镶白旗| 庆安县| 邵阳市| 南通市| 嘉义县| 陆河县| 宁化县| 微博| 临夏县| 东方市| 姜堰市| 偃师市| 曲周县| 武义县| 长泰县| 疏勒县|