zoukankan      html  css  js  c++  java
  • Mysql 没有nvl()函数,却有一个类似功能的函数ifnull()

    今天自己无聊写了看了一个查询需求随手写了一个sql语句,发现竟然不能运行,MySQL报[Err] 1305 - FUNCTION ceshi.nvl does not exist的错。才意识到自己写的是

    orac中的sql,于是另写一条sql达到了目的,但是事后想了一下在mys中是否有同样功能的函数呢?经查:ifnull()。亲测,另有发现:

    SELECT * FROM emp e where (e.COMM is null) or e.COMM<100;

    SELECT * FROM emp e WHERE IFNULL(e.COMM,0)<100;

    效果是一样的!我的COMM字段数据为300、500、1400、0;

    而我要查询的是:没有奖金或奖金低于100的员工信息。以此来看官方的解释:IFNULL(expr1,expr2) 

    如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。 是有问题的,0不是null

    但是他也做到了返回expr2;应该是当expr1为null或者0是都返回expr2。

     

    转:https://www.cnblogs.com/ckxlovejava/p/5923841.html

    参考:http://www.w3school.com.cn/sql/sql_isnull.asp

  • 相关阅读:
    hdu5728 PowMod
    CF1156E Special Segments of Permutation
    CF1182E Product Oriented Recurrence
    CF1082E Increasing Frequency
    CF623B Array GCD
    CF1168B Good Triple
    CF1175E Minimal Segment Cover
    php 正则
    windows 下安装composer
    windows apache "The requested operation has failed" 启动失败
  • 原文地址:https://www.cnblogs.com/fps2tao/p/9042121.html
Copyright © 2011-2022 走看看