• PostgreSQL 常用函数


     

     
    复制代码
    类似Oracle ,PostgreSQL也有强大的类型转换函数, 下面仅举两个类型转换例子。
    
          
    --1 例子
    postgres=# select 1/4;
     ?column? 
    ----------
            0
    (1 row)
    
            在PG里如果想做除法并想保留小数,用上面的方法却行不通,因为"/" 运算结果为取整,并
    且会截掉小数部分。
     
    
    --2 类型转换
    postgres=# select round(1::numeric/4::numeric,2);
     round 
    -------
      0.25
    (1 row)
    
      备注:类型转换后,就能保留小数部分了。
    
    
    --3 也可以通过 cast 函数进行转换
    postgres=# select round( cast ( 1 as numeric )/ cast( 4 as numeric),2);
     round 
    -------
      0.25
    (1 row)
    
    
    --4 关于 cast 函数的用法 substr 索引默认为1 下面是从 第3位开始,截取1位
    postgres=# SELECT substr(CAST (1234 AS text), 3,1);   
     substr 
    --------
     3
    (1 row)
    复制代码

       实例:查询某一天数据

    select * from pro.book where cast(create_time as date)='2019/07/30';
    复制代码
    || 字符串拼接
    语法
    string || string
    示例
    'Post' || 'greSQL' -- 返回PostgreSQL
    
    length() 字符串的长度
    语法
    length(string)
    示例
    length('Odoo') -- 返回4
    
    LIKE 模式匹配
    语法
    string LIKE pattern
    示例
    ’abc’ LIKE ’abc’ -- 返回true
    ’abc’ LIKE ’a%’ -- 返回true
    
    to_char() 把时间戳转换成字符串
    语法
    to_char(timestamp, text)
    示例
    to_char(create_date, 'YYYY/MM/DD')
    to_char(create_date, ’HH12:MI:SS’)
    
    to_date() 把字符串转换成日期
    语法
    to_date(text, text)
    示例
    to_date(’05 Jan 2015’,’DD Mon YYYY’)
    
    to_timestamp() 把字符串转换成时间戳
    语法
    to_timestamp(text, text)
    示例
    to_timestamp(’05 Jan 2015’, ’DD Mon YYYY’)
    
    CASE 条件表达式, 类似于其他编程语言中的if/else
    语法1
    CASE WHEN condition THEN result [WHEN ...] [ELSE result] END
    示例1
    CASE WHEN gender='male' THEN '程序猿' ELSE '程序媛' END
    语法2(简化形式)
    CASE expression WHEN value THEN result [WHEN ...] [ELSE result] END
    示例2
    CASE gender WHEN 'male' THEN '程序猿' ELSE '程序媛' END
    
    COALESCE() 返回第一个非NULL的参数,所有参数均为NULL时则返回NULL
    语法
    COALESCE(value [, ...])
    示例
    COALESCE(actual_qty,0) as actual_qty
    
    NULLIF() 如果value1与value2相等则返回NULL, 否则返回value1
    语法
    NULLIF(value1, value2)
    示例
    NULLIF(value, ’(none)’)
    复制代码
  • 相关阅读:
    数据挖掘中所需的概率论与数理统计知识、上
    pig语法学习 FOREACH GENERATE group AS
    pig flatten
    F-stack及其Nginx、redis的编译安装
    f-stack中nginx配置后make出现error: ignoring return value of ‘ftruncate’
    高速网络流量测量方法的记录
    DPDK测试用例(sample)编译
    VPP(Vector Packet Processing)配置工具
    DMA(Direct Memory Access)简介
    VPP(Vector Packet Processing)浅析
  • 原文地址:https://www.cnblogs.com/zeenzhou/p/13426190.html
Copyright © 2020-2023  润新知