zoukankan      html  css  js  c++  java
  • informix常用函数

    一、常用函数

    1、decimal

    decimal(14,2):14位数,小数占两位;decimal(26,8),有效长度为26,小数位占8位。

    2、cast

    cast:Oracle中的数据类型转换函数,将某种数据类型的表达式显式转换为另一种数据类型。

    3、decode

    decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
    该函数的含义如下:
    IF 条件=值1 THEN
        RETURN(翻译值1)
    ELSIF 条件=值2 THEN
        RETURN(翻译值2)
        ......
    ELSIF 条件=值n THEN
        RETURN(翻译值n)
    ELSE
        RETURN(缺省值)
    END IF
    
    decode(字段或字段的运算,值1,值2,值3)这个函数运行的结果是,当字段或字段的运算的
    值等于值1时,该函数返回值2,否则返回值3。当然值1,值2,值3也可以是表达式,这个函数
    使得某些sql语句简单了许多。
    使用方法: 
    
    1、比较大小
    select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值
    sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
    例如:
    变量1=10,变量2=20
    则sign(变量1-变量2)返回-1,decode解码结果为“变量1”,达到了取较小值的目的。
     
    2、此函数用在SQL语句中,功能介绍如下:
    Decode函数与一系列嵌套的 IF-THEN-ELSE语句相似。base_exp与compare1,compare2等
    等依次进行比较。如果base_exp和 第i 个compare项匹配,就返回第i 个对应的value 。
    如果base_exp与任何的compare值都不匹配,则返回default。每个compare值顺次求值,
    如果发现一个匹配,则剩下的compare值(如果还有的话)就都不再求值。一个为NULL的
    base_exp被认为和NULL compare值等价。如果需要的话,每一个compare值都被转换成和
    第一个compare 值相同的数据类型,这个数据类型也是返回值的类型。
     
     3、Decode函数在实际开发中非常的有用
    
    (1)结合Lpad函数,如何使主键的值自动加1并在前面补0
    select LPAD(decode(count(记录编号),0,1,max(to_number(记录编号)+1)),14,'0') 
    记录编号 from tetdmis;eg:
    select decode(dir,1,0,1) from a1_interval;
    dir 的值是1变为0,是0则变为1
     
    (2)比如我要查询某班男生和女生的数量分别是多少?
     通常我们这么写:
    select count(*) from 表 where 性别 = 男;
    select count(*) from 表 where 性别 = 女;
    要想显示到一起还要union一下,太麻烦了
    用decode呢,只需要一句话
    select sum(decode(性别,男,1,0)),sum(decode(性别,女,1,0)) from 表
    eg:
    select sum(decode(siteno,'LT',1,0)),sum(decode(siteno,'SZ',1,0)) 
    from facd605;
    select sum(case siteno when 'LT' then 1 else 0 end),
    sum(case siteno when 'SZ' then 1 else 0 end) from facd605;

    4、

    如果错过太阳时你流了泪,那你也要错过群星了。
    在所有的矛盾中,要优先解决主要矛盾,其他矛盾也就迎刃而解。
    不要做个笨蛋,为失去的郁郁寡欢,聪明的人,已经找到了解决问题的办法,或正在寻找。
  • 相关阅读:
    POJ1486 Sorting Slides 二分图or贪心
    POJ2060 Taxi Cab Scheme 最小路径覆盖
    POJ3083 Children of the Candy Corn 解题报告
    以前的文章
    POJ2449 Remmarguts' Date K短路经典题
    这一年的acm路
    POJ3014 Asteroids 最小点覆盖
    POJ2594 Treasure Exploration 最小路径覆盖
    POJ3009 Curling 2.0 解题报告
    POJ2226 Muddy Fields 最小点集覆盖
  • 原文地址:https://www.cnblogs.com/szrs/p/13058958.html
Copyright © 2011-2022 走看看