iif能用到mysql中吗_数据库基础知识:SQL中的IIF语句详解

IIf

返回由逻辑测试确定的两个数值或字符串值之一。

语法

数字

IIf(Logical EXPression, Numeric Expression1, Numeric Expression2)

如果 Logical Expression 取值为 TRUE,则此函数返回 Numeric Expression1,否则,返回 Numeric Expression2。

字符串

IIf(Logical Expression, String Expression1, String Expression2)

如果 Logical Expression 取值为 TRUE,则此函数返回 String Expression1,否则,返回 String Expression2。

注释

只有当 Logical Expression 的值为零时,才认为该表达式是 FALSE。任何其它值都被解释为 TRUE。

不推荐用 Iif 函数基于搜索条件创建成员的集合。请改用 Filter 函数根据逻辑表达式评估指定集合中的每个成员,然后返回成员的子集合。

示例

数字

如果 Measures.CurrentMember 是空单元,则下面的示例返回 0,否则返回 1:

IIf(IsEmpty(Measures.CurrentMember), 0, 1)

字符串

如果 Measures.CurrentMember 是空单元,则下面的字符串返回字符串 'Yes',否则返回字符串 'No':

IIf(IsEmpty(Measures.CurrentMember), 'Yes', 'No')

在Access中我可以用IIF函数进行统计汇总,比如,要知道实际应该交费的用户个数:

Select sum(iif(金额>0, 1,0)) as num from 费用

在SQL Server中好像没有对应的函数,我用:

select sum(case when 金额>0 then 1 else 0 end) as num from 费用

好像不太直观,不知道有没有其它方法

case when ....then else end

例:select id,case when bz='1' then xx when bz='2' then yy else zz end as tt from xxx

那MID,LEFT等呢?在SQL中怎么用?

MID 就是 SQL 里的substring

LEFT 就是 SQL 里的 LEFT

比如 substring(字段,开始位置,取多少长度)

left(字段,取多少长度)

SUBSTRING ( expression , start , length )

参数

expression

是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。

start

是一个整数,指定子串的开始位置。

length

是一个整数,指定子串的长度(要返回的字符数或字节数)。

LEFT

返回从字符串左边开始指定个数的字符。

语法

LEFT ( character_expression , integer_expression )

参数

character_expression

字符或二进制数据表达式。character_expression 可以是常量、变量或列。character_expression 必须是可以隐式地转换为 varchar 的数据类型。否则,请使用 CAST 函数显式转换 character_expression。

integer_expression

是正整数。如果 integer_expression 为负,则返回空字符串。

返回类型

varchar

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527750.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 取pdf 文本域_java – 使用iText从pdf文件中提取文本列

我需要使用iText从pdf文件中提取文本.问题是:一些pdf文件包含2列,当我提取文本时,我得到一个文本文件,其中列被合并为结果(即同一行中两列的文本)这是代码:public class pdf{private static String INPUTFILE "http://www.revuemedecinetropicale.…

java 反射执行语句_JAVA反射机制

JAVA反射机制定义:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称…

java 非静态 初始化_Java非静态代码块和实例初始化过程

1 非静态代码块非静态代码块特点①可以为实例变量(非静态的属性)初始化②每次创建对象的时候,都会执行一次,且先于构造器执行③若有多个非静态的代码块,那么按照定义的顺序从上到下依次执行④代码块中既可以调用非静态的变量和方法&#xff0…

java程序员面试怎么难为面试官_Java程序员面试这些多线程问题你知道吗?

在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。所以你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的。他们会问面试者很多令人混淆的Java线程问题。面试官只是想确信面试者有…

linux es连接mysql_Linux下ES,kibana,mysql,kafka,zookeeper启动关闭方式

Linux下ES,kibana,mysql,kafka,zookeeper启动关闭方式ES前台方式启动切换到ES的bin目录下,执行./elasticsearch命令关闭窗口或者ctrlc会停止运行后台方式启动同样切换到ES的bin目录下,执行 ./elasticsearch -d 命令查看实时的日志…

java.util.timertask_java.util.TimerTask翻译

java.utilClass TimerTaskjava.lang.Objectjava.util.TimerTask All Implemented Interfaces:public abstract class TimerTaskextendsObjectimplementsRunnableA task that can be scheduled for one-time or repeated execution by a Timer. 由Timer安排执行一次或重复执行的…

java还值_Java到底是引用传递还是值传递

前言前段时间在群里看到类似这样一个问题,下面的代码会输出什么呢?public void test(){String str "hello";change(str);System.out.println(str);}private void change(String str){str "world";}当时看到这题,瞬间勾…

什么是java中的面向对象编程_什么是面向对象编程

什么是面向对象编程时间:2018-01-23 来源:面向对象编程讲解一.前言其实不管是java还是.net都是属于面向对象程序设计语言,归根结底,它们都离不开面向对象,所以什么是面向对象呢,意思就是object-oriente…

java两个长度不同数组_两组数组,长度不一样,如果其中一个数组的值在另一个中不存在,则不符合要求.怎么算?...

思路一先找到最长的数组,然后循环短的数组并判断元素是否在长数组中public class Main {public static void main(String[] args) throws CloneNotSupportedException {String[] strArr1{"ee","aa","bb","cc"};String[] st…

java如何给顺序表赋值_JAVA模拟新增顺序表及单链表

最近在回顾大学学的数据结构,这里给大家用javwww.cppcns.coma模拟顺序表和单链表的新增1顺序表新增/*** 顺序www.cppcns.com表** author cjd**/public class ArrayList {private Object[] elementData; // 底层是一个数组,目前还没有确定长度private int…

php sql查询两个表语句,sql多表查询语句与方法

sql多表查询有很多种方法,如有自然连接 INNER JOIN,外边查询LEFT JOIN,交叉查询JOIN,交叉连接JOIN等join on left on 等多的是哦。sql多表查询语句与方法sql多表查询有很多种方法,如有自然连接 INNER JOIN,外边查询LEFT JOIN,交叉查询JOIN,交叉连接JOIN等…

php浏览服务器某一文件夹内容,php删除web服务器中指定目录下的指定格式的文件...

今天还在写VipSystem Pro的授权部分,用户授权后,生成匹配该用户的唯一的php文件集合(在一个目录下),然后进行zip下所并弹出下载。这个临时生成的zip文件存放在我指定的一个目录。每个用户授权不同的功能,都会产生一个唯一的zip压缩…

PHP的html实现xpath解析,php用xpath解析html的代码实例讲解

实例1$xml simplexml_load_file(https://forums.eveonline.com);$names $xml->xpath("html/body/p/p/form/p/p/p/p/p[*]/p/p/table//tr/td[classtopicViews]");foreach($names as $name){echo $name . "";}实例2$url http://www.baidu.com;$ch curl…

php phpexcel用法,PHPExcel用法总结

PHPExcel用法总结总结一下PHPExcel的用法~//设置PHPExcel类库的include path//这里貌似直接include类文件就可以了# set_include_path(.. PATH_SEPARATOR .# ExcelPHP_LIBS . PATH_SEPARATOR .# get_include_path());/*** 以下是使用示例&am…

nginx php value,PHP+NGINX参数优化

Failed requests: 0Write errors: 0Requests per second: 3712.72 [#/sec] (mean)Time per request: 134.672 [ms] (mean)Time per request: 0.269 [ms] (mean, across all concurrent requests)Transfer rate: 732.37 [Kbytes/sec] received1000并发:Concurrency L…

php追加数据,php追加数据到mysql

追加数据 php mysqlphp追加数据到mysql在mysql里的一个表user中有个name的字段表中已经有一条记录id字段值是1name字段的值是”周”我现在想追加”杰伦”两个字到这个字段中也就是让这条记录的name字段的值从原来的”周”变成现在的”周杰伦”请问要怎么操作呢?如何…

php escapeshellcmd,利用/绕过 PHP escapeshellarg/escapeshellcmd函数

escapeshellarg和escapeshellcmd的功能escapeshellarg1.确保用户只传递一个参数给命令2.用户不能指定更多的参数一个3.用户不能执行不同的命令escapeshellcmd1.确保用户只执行一个命令2.用户可以指定不限数量的参数3.用户不能执行不同的命令让我们用groups去打印组里每个userna…

php 绕waf,【技术分享】php webshell分析和绕过waf技巧

作者:阻圣预估稿费:400RMB(不服你也来投稿啊!)投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿前言WebShell是攻击者使用的恶意脚本,它的用途主要是在攻击后的Web应用程序上建立持久性的后门。webs…

php写好程序后需要嵌套,什么是PHP嵌套函数?

这不仅是副作用,而且实际上是动态修改程序逻辑的非常有用的功能。它来自过程式PHP时代,但如果您想以最直接的方式为某些独立功能提供替代实现,那么它也可以与OO体系结构一起使用。(虽然在大多数情况下,OO是更好的选择,…

java 电子实时看板,看板界面的实现

在系统中有时通过以下界面可以直观的展示信息给用户:以上图形有几点比较重要:1, 一个面板显示一组属性(例如物料显示物料编号、物料规格),但要把最主要的属性通过颜色单独处分出来。2, 通过颜色来区分重要性,例如(红…