数据库的 if 语句怎么使用 5C

####select * from article if( typeCode != null && typeCode != '')where TYPE_CODE like CONCAT("", #{typeCode},"%")
####if后括号为真时执行where,if后括号为假时只执行select * from article
 
####正确的写法应该是怎样的?

6个回答

select * from article
where
if(isnull(typeCode,'')='', 1=1, TYPE_CODE like CONCAT("", #{typeCode},"%"))

IF 表达式

IF( expr1 , expr2 , expr3 )

expr1 的值为 TRUE,则返回值为 expr2
expr1 的值为FALSE,则返回值为 expr3

你将if写在where后面,expr1换成你的判断条件,expr2换成你的查询条件,expr3换成1=1(如果expr1不成立,自行select * from 表名 where 1=1)
望采纳!

我觉得你这个sql最大的问题还不是if语法怎么用,你if里面的参数来源根本就不是你from后面的表,所以你如果
想根据别处的信息来决定select语句的where条件,那肯定是不能用sql来实现的,你得考虑别的方法了。
if语句是来判断你from的表里的字段是否符合要求,来展示对应的转换数据,记住,它的参数都是来源你from的表。
这里你把if直接干掉,用java或者python,或者别的什么语言来实现你描述的if的目的。
还有就是你拼接函数concat里面的参数,是字符串的话加上单引号,字段的话不需要加,就是'#{typeCode}'
你里面的且关系&&,改成and,如果是或关系,就用or。

select * from article where typeCode is null or typeCode = ''
union
select * from article where typeCode is not null and typeCode != '' and TYPE_CODE like CONCAT("", #{typeCode},"%");

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
怎么使用数据库和SQL语句??
各位大侠帮帮忙,希望能细致地讲讲如何在VC里使用数据库和SQL语言。
怎么使用事务操作两条数据库执行语句?
为了保证数据的一致性,需要操作两个表的更新动作,怎么使用事务来执行语句?C#
数据库sql语句使用
sql笔记,主要对一些基础sql语句的描述跟使用,具体的增删该查方法一些字符函数说明。一些复杂逻辑的查询操作
数据库insert语句的使用
我想问一下,插入参数不定的语句是怎么写的呢?例如:有表mytable,栏有:my1,my2,my3,my4,有时候只往my1,插入值,有时候往my2,my3,插入栏不定,有时候是四个,请问怎么用jsp语言、sql语句写???
数据库选择语句的使用
邮箱为空则输出ID(ifnull比case when更方便) select username,case when email is not null then email else user_id end from t_tfwx_user;  select username,ifnull(email,user_id) from t_tfwx_user;   isnull括号后值为null返...
数据库SQL语句使用
数据库概述及SQL语句的使用 (可以通过浏览器打开图片或者下载图片来观看)
数据库XML使用语句
数据库XML使用语句数据库XML使用语句数据库XML使用语句数据库XML使用语句数据库XML使用语句数据库XML使用语句数据库XML使用语句
数据库SQL语句的使用
1、创建SQL语句 DDL语句 MySQL命令行参数: Usage: mysql [OPTIONS] [database] //命令方式 -?, --help //显示帮助信息并退出 -I, --help //显示帮助信息并退出 --auto-rehash //自动补全功能,就像linux里面,按Tab键出提示差不多,下面有例子 -...
这样的数据库语句怎么写
1 2 ZY010001107189 4 1 1 -28763.05rn2 1 ZY010001107189 3 1 1 28763.05rn这是我查询出来的语句,可是其实因为-28763.05与28763.05之和为零,我想写一条语句,要是他们之和为零就检索不到。这样的sql语句怎么样写呢?都是在同一个表格的rnselect *rn from fin_ipb_balancehead hrn where h.inpatient_no = 'ZY010001107189'rn and h.balance_type = 'I'rn and h.waste_flag = '0'rn
更新数据库的语句怎么写?
求一段更新数据库的语句,有查询
这样的数据库语句怎么写?
表A中的数据为:rnrn姓名 销售金额 其他金额rn张三 300.0 500.0rn张三 400.0 600.0rn李四 500.0 300.0rn李四 400.0 600.0rn李四 200.0 900.0rnrnrn怎么能得到这样一个查询结果 :rnrn姓名 销售金额 其他金额 结果rn张三 700.0 1100.0 2rn李四 1100.0 1800.0 3
怎么插入SQL语句到数据库
我有一些带有SQL语句的文章,想添加到数据库,可是发生错误rn如何解决,我看到有一些论坛有那种[code][/code],这种代码就可以解决rnrn它是如何做到的?rn有哪位大哥能教我?
怎么转移数据库sql语句
怎么把一台服务器上的数据库数据转移到另一台服务器上
数据库语句这怎么写~~
如 A表有个id name:名称 num:数量 B表有个 id Aid:外键A表的id encoding:唯一标识码 n现在有个excel表格 有属性 name num encoding 属性 前面俩有可能相同 如 同一名称的 东西有num个 ,怎么在A表插入一个数据的情况 向B表插入相应个数的数据
数据库SQL之DML语句的使用
数据库SQL之DML语句的使用 1.DML 数据操控语句 用于添加、删除、更新和查询数据库记录,并检查数据完整性。 常用的语句关键字包括insert、delete、udpate、select等。 2.基本用法 : 2.1【数学函数】求绝对值 SELECT ABS(-5.1); 求出比这个数大的最小的整数 SELECT CEILING(0.1); 求出比这个数小的最大的整数 SELECT
数据库的链接与SQL语句的使用
首先我们要有一个注册页面(由于省功夫,注册和登录写在了一个页面中,然而这样并没有影响。。。)<form name="regist" action="/regist" method="post"> 用户名:<input type="text" name="username"/> 密码:<input type="text" name="password"/>
数据库SQL之DDL语句的使用
数据库SQL之DDL语句的使用1.SQL概述 概念:SQL指的是结构化查询语言,它是使用关系模型的数据库应用语言,实现了关系数据库中的信息检索 类别: sql语句主要可以划分为以下3个类别: DDL 数据定义语言 这些语言定义了不同的数据段、数据库、表、列、索引等数据对象的定义。 常用的语句关键字主要包括create、drop、alter等。 DML 数据操控语句 用于添加、删除
【数据库】MySQL基本语句的使用
一、DDL:数据定义语言 作用:用于描述数据库中要存储的现实世界实体的语言。即创建数据库和表的结构。 常用关键字:CREATE ALTER DROP TRUNCATE -----------------------------库操作----------------------------- 显示所有的数据库 SHOW DATABASES; 创建一个名称为mydb1的数据库。 CR
使用SQL语句管理数据库
使用T-SQL语句管理数据库,介绍用SQL创建数据库,修改数据库等详细命令
Paradox数据库怎么使用?
怎么我用Paradox数据库的时候,只能添加一条数据?而且这条数据是不能修改了的。rn再次添加数据就提示:“操作必须是可更新的查询”
J# 怎么使用数据库?
我做的是windows窗体编程!rn需要用到什么控件去连接ACCESS数据库和查询数据\更新数据rn希望能详细的教教我!十分感谢!!!!!
怎么使用数据库
学了C++与windows程序设计。最近要写一个程序,要使用到数据库。rn怎么整呢。或是要看哪些资料。谢谢大家。
怎么使用这个数据库
两台没有连接的电脑中有sqlserver数据库.rn其中一台要使用另一台的数据库rn怎么操作???
怎么使用FireBird数据库?
如题........
使用SQL语句创建及使用SQLServer数据库
SQL语言在SQL Sever中的应用 1.     数据库的建立     在企业管理器中,建立教务数据库——EDUCATION。        1截图                 2说明          在导航中的数据库上右键,新建数据库。          填写数据库名称:EDUCATION。          除了文件类型和文件组其余均可编辑。 由截图可知: 主数据
linq语句怎么使用group by?
linq 语句 怎么使用group by 和 order by ?rn
mysql 插入数据 语句怎么使用?
=========================================1.java==============================================================rnrnif(flag.equals("addUser"))rn rn //完成添加用户rn //得到用户输入的信息rn String name=request.getParameter("useName");rn String passwd=request.getParameter("passwd");rn String email=request.getParameter("email");rn rn //创建userbeanclrn UserBeanCl ubc=new UserBeanCl();rn rn if(ubc.addUser(name, passwd, email))rn rn //添加成功rn request.getRequestDispatcher("suc.jsp").forward(request, response);rn rn elsern //不成功rn request.getRequestDispatcher("err.jsp").forward(request, response);rn rnrnrnrn======================================================2.java===============================================rnrnpublic boolean addUser(String name,String passwd,String email)rn rn boolean b=false;rn tryrn //得到链接rn conn=new ConnDB().getConn();rn rn st=conn.createStatement();rn //执行rn int a=st.executeUpdate("insert into user(uID,uPS,mail)values('"+name+"','"+passwd+"','"+email+"')");rn rn if(a==1)rn //添加成功rn b=true;rn rnrn==============================================================================================================rnrninsert 应该怎么用啊 试了几种方法 都没有成功哦
Access数据库怎么使用SQL语句
1.打开一个数据库; 2.点击表,可以查看它的内容; 3.点击上方的“创建”; 4.点击“查询设计”; 5.直接点击关闭弹出一个窗口“显示表”; 6.右键“查询1”; 7.在弹出的列表中选择“SQL视图; 8.在这个方框内输入SQL语句; 9.点击左上方的“运行”按钮
C# insert into语句怎么使用?
我想用这个语句把textbox的内容插入数据库中,数据库已经连接上了,这个语句应该怎么写,求高手??
请问怎么使用SQL语句访问多个数据库?
我使用SQL Server 2000建立了3个不同的数据库,分别为A、B。rn我现在想访问A库中的m表和B库中的n表,请问怎么使用SQL语句同时访问这两个表。
请问使用带密码的外部数据库的SQL语句怎么写?
请问使用带密码的外部数据库的SQL语句怎么写?rnINSERT INTO L1(F1,F2,F3) IN '" & App.Path & "\A.MDB' SELECT F4,F5,F6 FROM L2 ",如果A的密码为aaa是,这条语句该如何写?用ODBC和用JET的语句是一样吗?如果不一样又该怎么写?谢谢!
excel做数据库 怎么使用insert 和update 语句
查询语句没有问题,但是insert 和update 语句会报错,请问高手如何解决?
asp如何使用foxpro数据库,(odbc)连接语句怎么写?
asp如何使用foxpro数据库,(odbc)连接语句怎么写?rnfoxpro odbc驱动哪里有?
主体数据库死了,怎么使用镜像数据库
如题rn环境:Win2003 + SQL 2005 + VS2005rn服务器三台,程序运行的服务器叫A,主体数据库服务器叫B,镜像数据库服务器叫CrnA上面的程序正常使用下到B中去取数据,B&C是使用的镜像的技术(没有见证服务器),如果这个时候B死了(停电,死机,爆炸,着火。。。)就是永远不能再开机了,这个时候按理说C是同步镜像B的数据,现在如何使用B里面的数据呢?
怎么使用listview刷新数据库
我用listview表格形式显示ado data控件连接的.mdb数据库,rn请问,我修改了.mdb数据库后,listview不会刷新,要怎么才能让listview实时地显示数据库字段的内容呢,
求助:怎么使用数据库锁
锁机制是防止多个用户同时改变数据库中数据,可是怎么在程序中编写呢?求助各位大侠。
liseview的checkbox怎么使用数据库
窗口上有一个DBGrid一个Listviewrn数据结构为rndata1rn ANO ANAMErn 1 张三rn 2 李四rndata2rn BNO BANO BCNOrn 1 1 3 rn 2 2 1rn 3 1 2rndata3rn CNO CNAMErn 1 大工rn 2 小工rn 3 服务生rn实现功能rn DBGrid取得data1的数据,当鼠标单击DBGrid某条数据时Listview显示相关信息rn例如:Listview显示data3的数据。Listview有checkbox.鼠标点击DBGrid张三,Listview的小工、服务生的checkboc为true.rnrn大家给段代码!我很菜的。解决就送分rn
DELPHI自带的数据库怎么使用?
请问高手们 rn怎么使关联的数据库随便在哪个机器上都可以使用rn是哪种类型的数据库啊rn就象网上下载的原程序它的数据库就不需要什么支持的rn直接可以用rnrn谢了
对话框中怎么使用数据库?
对话框要做数据库,很小rn重载了CDaoRecordsetrnrnclass cdaorecordset : public CDaoRecordsetrnrnpublic:rn cdaorecordset(CDaoDatabase* pDatabase = NULL);rn DECLARE_DYNAMIC(cdaorecordset);rn........rnrnrn但是编译的时候出错:rnd:\workspace\new\cdaorecordset.h(14) : error C2504: 'CDaoRecordset' :rnbase class undefinedrn找不到基类的位置??rn顺便问一句CDaoRecordset类的定义在那个链接库里?怎么才能解决?
cb2010怎么使用SQLite数据库?
最好是不需要另外安装驱动或组件的方式。rn
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法