柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫 SQL 常見函數(shù)整理
柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫 SQL 常見函數(shù)整理
1. 用法 用于將日期、時(shí)間和數(shù)字值格式化為指定的字符串表示形式。 2. 基本語法
FORMAT(value, format)
value :要格式化的日期、時(shí)間或數(shù)字值。format :指定要應(yīng)用的格式的字符串??梢允褂貌煌母袷酱a來定義所需的格式,格式代碼的具體取決于值的類型。
① 日期格式代碼
yyyy:四位數(shù)的年份。MM:兩位數(shù)的月份,帶前導(dǎo)零 (注意和分鐘區(qū)分,分鐘是小寫的mm)MMM:縮寫的月份名稱(例如:Jan、Feb)dd:兩位數(shù)的日期,帶前導(dǎo)零
select
format(cast('2024-01-01 10:35:14.277' as datetime), 'yyyy') as Year
,format(cast('2024-01-01 10:35:14.277' as datetime), 'MM' ) AS Month
,format(cast('2024-01-01 10:35:14.277' as datetime), 'MMM' ) AS MonthAbbr
,format(cast('2024-01-01 10:35:14.277' as datetime), 'dd' ) as day
查詢結(jié)果如下圖所示:
② 時(shí)間格式代碼
hh:12 小時(shí)制的小時(shí),帶前導(dǎo)零(例如:01-12)HH:24 小時(shí)制的小時(shí),帶前導(dǎo)零(例如:00-23)mm:分鐘,帶前導(dǎo)零(例如:00-59)ss:秒,帶前導(dǎo)零(例如:00-59)
select
format(cast('2024-01-01 19:05:09.277' as datetime), 'hh') as Hour_12h
,format(cast('2024-01-01 19:05:09.277' as datetime), 'HH' ) AS Hour_24h
,format(cast('2024-01-01 19:05:09.277' as datetime), 'mm' ) AS Minute
,format(cast('2024-01-01 19:05:09.277' as datetime), 'ss' ) as Second
查詢結(jié)果如下圖所示:
③ 數(shù)字格式代碼
0:數(shù)字占位符,若位數(shù)不足則用零填充#,##0.00:用逗號(hào)分隔千位數(shù),保留兩位小數(shù)
--假設(shè) 某ID 固定長度是6位
SELECT FORMAT(1234, '000000') AS FormattedNumber;
--查詢結(jié)果: '001234'
select format(12345.6789,'#,##0.00')
--查詢結(jié)果: '12,345.68'
3. 應(yīng)用示例
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd') AS FormattedDate;
-- 輸出:"2023-10-18"
SELECT FORMAT(GETDATE(), 'hh:mm:ss tt') AS FormattedTime;
-- 輸出:02:28:30 PM
SELECT FORMAT(1234567.89, '#,##0.00') AS FormattedNumber;
-- 輸出:"1,234,567.89"
注意事項(xiàng): 1. 格式代碼注意區(qū)分大小寫 2. FORMAT() 函數(shù)在日期、時(shí)間和數(shù)字格式化方面非常強(qiáng)大,但它也可能會(huì)影響查詢性能。在處理大量數(shù)據(jù)時(shí),建議使用其他更高效的方法來格式化數(shù)據(jù),比如在應(yīng)用層或報(bào)表工具中進(jìn)行格式化。
柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫 SQL 常見函數(shù)整理
精彩鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。