• PG中的几种数据类型转换方式


    PG中的几种数据类型转换方式


    1、通过格式化函数进行转换


    函数 返回类型 描述 示例
    to_char(timestamp,text) text 把时间戳转换成字符串 to_char(current_timestamp,‘HH12:MI:SS’)
    to_char(interval,text) text 把间隔转换成字符串 to_char(interval ‘15h 2m 12s’,'HH24:MI:SS)
    to_char(int,text) text 把整数转换成字符串 to_char(125,'999)
    to_char(numeric,text) text 把数字转换成字符串 to_char(-125.8,‘999D99S’)
    to_date(text,text) date 把字符串转换成日期 to_date(‘05 Dec 2000’,‘DD Mon YYYY’)
    to_number(text,text) numeric 把字符串转换成数字 to_number(‘12,454.8-’,'99G999D9S)
    to_timestamp(text,text) timestamp 把字符串转换成时间戳 to_timestamp(‘05 Dec 2000’,‘DD Mon YYYY’)


    2、使用cast函数进行转换


    将varchar字符串转换成text类型:



    将varchar字符类型转换成int4类型:

    select cast(varchar'123' as int4);


    3、通过::操作符进行转换


    示例:

    select 1::int4 2/3::numeric;



    「PostgreSQL」PostgreSQL数据类型格式转换


    比如有表student:

    name (VARCHAR) sex (VARCHAR) id (VARCHAR)
    张三 1001
    李四 1002
    小红 1003


    我想查询学号(id)为20的学生的名字:

    SELECT name FROM student WHERE id = 1001;


    可能报错 No operator matches the given name and argument type(s). You might need to add explicit type casts.

    很明显, id 列是 VARCHAR 类型, 但是查询语句的类型为 数字类型, 此时我们就要进行数据格式转换:

    以下有几种方式:

    CAST( 字段 AS 你要转换为的数据类型 )

    SELECT name FROM student WHERE id = cast(1003 as VARCHAR);


    字段 :: 你要转换为的数据类型
    SELECT name FROM student WHERE id = 1002 :: VARCHAR;

  • 相关阅读:
    判断二分图的染色法
    dfs框架
    codeforces 158c
    省选总结
    云盘
    KMP
    二分
    【又想多了】 听 怎样成为高手-罗辑思维 记录
    小刘(第二版)
    UVA 1594:Ducci Sequence (模拟 Grade E)
  • 原文地址:https://www.cnblogs.com/ios9/p/16053127.html
Copyright © 2020-2023  润新知