首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

SQL FORMAT() 函數用法詳解:資料格式化顯示的實用指南

     編輯:MySQL 綜合教學

SQL FORMAT() 函數用法詳解:資料格式化顯示的實用指南

函數用途

FORMAT() 用於將欄位值按指定格式轉換為字串輸出,常用於數字千分位分隔、日期時間格式化等報表顯示需求。

語法結構

SELECT FORMAT(column_name, format) FROM table_name;

參數說明

參數是否必填說明
column_name是要格式化的欄位名稱
format是格式規範字串(視資料庫實作而異)

範例資料:Products 表

ProductIDProductNameSupplierIDCategoryIDUnitPrice
1Chais1110 boxes x 20 bags18
2Chang1124 - 12 oz bottles19
3Aniseed Syrup1212 - 550 ml bottles10
4Chef Anton's Cajun Seasoning2248 - 6 oz jars21.35
5Chef Anton's Gumbo Mix2236 boxes25

實戰範例

-- 取得產品名稱、價格、以及當天日期 (格式化為 YYYY-MM-DD)
SELECT ProductName, Price, FORMAT(NOW(), 'YYYY-MM-DD') AS PerDate
FROM Products;

注意事項與資料庫差異

  • MySQL: FORMAT(N, D) 將數字 N 格式化為 #,###.## 形式,D 為小數位數。**不支援日期格式化**,日期請用 DATE_FORMAT()。
  • SQL Server: FORMAT(value, format [, culture]) 支援數字、日期、貨幣等 .NET 格式字串(如 'yyyy-MM-dd', 'C', 'N2')。
  • Oracle: 使用 TO_CHAR() 函數。
  • PostgreSQL: 使用 TO_CHAR() 或 FORMAT() (9.4+,類似 C 的 sprintf)。

MySQL 實用替代方案

-- 數字千分位 + 兩位小數
SELECT FORMAT(1234567.89, 2);  -- 輸出: 1,234,567.89

-- 日期格式化 (使用 DATE_FORMAT)
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');  -- 2024-01-15 14:30:05

跨資料庫開發時,務必確認目標資料庫的 FORMAT() 實作細節,避免移植時出現語法錯誤或輸出不符預期。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved