FORMAT

简介

FORMAT
FORMAT
函数使用类似 printf 的格式化字符串将参数拼装成字符串。适合生成带有固定前缀、补零、小数位控制的格式化输出。与
DATE_FORMAT
DATE_FORMAT
不同,
FORMAT
FORMAT
是通用字符串格式化函数,不专用于日期。

语法

FORMAT(format_str, arg1[, arg2, ...])

参数

  • format_str
    format_str
    :格式化模板字符串,包含普通字符和格式占位符。
  • arg1, arg2, ...
    arg1, arg2, ...
    :按顺序替换
    format_str
    format_str
    中每个占位符的值。

常用占位符:

占位符含义示例
%s
%s
字符串
FORMAT('%s', 'hello')
FORMAT('%s', 'hello')
hello
hello
%d
%d
整数(十进制)
FORMAT('%d', 42)
FORMAT('%d', 42)
42
42
%f
%f
浮点数
FORMAT('%f', 3.14)
FORMAT('%f', 3.14)
3.140000
3.140000
%.2f
%.2f
保留 2 位小数
FORMAT('%.2f', 3.14159)
FORMAT('%.2f', 3.14159)
3.14
3.14
%05d
%05d
整数补零至 5 位
FORMAT('%05d', 42)
FORMAT('%05d', 42)
00042
00042
%%
%%
输出字面量
%
%
FORMAT('100%%')
FORMAT('100%%')
100%
100%

返回结果

返回

VARCHAR
VARCHAR
类型的格式化字符串。

示例

  1. 基本用法:字符串与整数拼装:

SELECT FORMAT('%s=%d', 'x', 42);

+--------------------------+ | format('%s=%d', 'x', 42) | +--------------------------+ | x=42 | +--------------------------+

  1. 控制浮点小数位:

SELECT FORMAT('price: %.2f', 9.9);

+----------------------------+ | format('price: %.2f', 9.9) | +----------------------------+ | price: 9.90 | +----------------------------+

  1. 整数补零(生成固定宽度编号):

SELECT FORMAT('order-%05d', 7);

+-------------------------+ | format('order-%05d', 7) | +-------------------------+ | order-00007 | +-------------------------+

  1. 多参数混合格式化:

SELECT FORMAT('user %s has %d points (%.1f%%)', 'alice', 320, 64.5);

+---------------------------------------------------------------+ | format('user %s has %d points (%.1f%%)', 'alice', 320, 64.5) | +---------------------------------------------------------------+ | user alice has 320 points (64.5%) | +---------------------------------------------------------------+

注意事项

  • FORMAT
    FORMAT
    是字符串格式化函数,
    DATE_FORMAT
    DATE_FORMAT
    才是日期格式化函数,两者占位符语法不同,不可混用。
  • 占位符数量须与后续参数数量一致,多余参数会被忽略,参数不足时行为未定义。
  • %%
    %%
    用于在输出中插入字面量
    %
    %
    字符。

相关函数

  • DATE_FORMAT:日期格式化函数,格式字符串使用
    %Y
    %Y
    /
    %m
    %m
    /
    %d
    %d
    等日期专用占位符。
  • CONCAT:无格式控制的字符串拼接。
  • PRINTF:功能与
    FORMAT
    FORMAT
    相同的别名函数(如支持)。
联系我们
预约咨询
微信咨询
电话咨询
邮件咨询