pgsql中to_char函数

By | 2023-10-12

pgsql中to_char函数

TO_CHAR 是 PostgreSQL 中的一个函数,用于将不同数据类型的值(通常是日期、时间或数字)转换为文本形式,以便在查询结果中进行格式化或显示。下面是详细解释和一些相关示例:

语法:

TO_CHAR(expression, format, options)
  • expression:要转换为文本的表达式,可以是日期、时间、数字等。
  • format:指定输出文本的格式。这是一个字符串,可以包括日期、时间、数字和文本格式化模板。
  • options(可选):一些选项,如时区、日历等。
    示例:

    1. 日期和时间格式化:

  • 将日期转换为 “YYYY-MM-DD” 格式:
    SELECT TO_CHAR(current_date, 'YYYY-MM-DD');
    
  • 将时间戳转换为 “YYYY-MM-DD HH:MI:SS” 格式:
    SELECT TO_CHAR(current_timestamp, 'YYYY-MM-DD HH24:MI:SS');
    

    2. 数字格式化:

  • 将数字四舍五入并格式化为货币格式:
    SELECT TO_CHAR(12345.6789, '$999,999.99');
    
  • 格式化百分比值:
    SELECT TO_CHAR(0.567, '99.99%');
    

    3. 文本拼接和格式化:

  • 使用 TO_CHAR 将数值和文本拼接:
    SELECT 'Total: ' || TO_CHAR(1000, '999,999') || ' records';
    

    4. 指定时区和语言:

  • 将日期按照特定时区进行格式化:
    SELECT TO_CHAR(current_timestamp AT TIME ZONE 'UTC', 'YYYY-MM-DD HH24:MI:SS TZD');
    
  • 使用不同语言的月份名称:
    SET lc_time = 'fr_FR';
    SELECT TO_CHAR(current_date, 'DD Mon YYYY');
    

TO_CHAR 函数允许你根据需要以不同的格式将数字、日期、时间等数据类型转换为字符类型。你可以根据具体的需求来选择合适的格式和选项。