sql 查询语句中对某列数据做条件判断

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 查询语句中对某列数据做条件判断相关的知识,希望对你有一定的参考价值。

有一个column 1,2,3 我要按照column里面的值来输出那列数据,3种情况 怎么解决 求大神 帮下忙

1、新建一个test数据库,在数据库里创建一张data数据表,在表内插入5条测试数据。

2、新建一个php文件,命名为test.php。

3、在test.php文件内,使用header()方法设置文件执行的编码为utf8,避免输出中文时产生乱码。

4、在test.php内,使用数据库账号、密码、利用mysqli创建数据库连接,并使用set_charset()方法设置获得数据的编码为utf8,同时,使用if语句判断连接数据库是否成功,如果连接不成功,输出错误信息。

5、在test.php文件内,编写sql语句,使用TO_DAYS()分别获得当前的天数和数据表ctime字段数据的天数,两者之差小于3天,即前三天,以此为条件查询data数据表的数据。

6、在浏览器运行test.php文件,查看程序执行的结果,就完成了。

参考技术A

比如还有三个字段叫col1,col2,col3

select
case when column=1 then col1 when column=2 then col2 when column=3 then col3 end
from
表名

本回答被提问者采纳
参考技术B 1、SELECT T.COLUMN1,T.COLUMN2,T.COLUMN3 FROM TABLE_TEST T WHERE T.COLUMN1='' AND T.COLUMN2= AND T.COLUMN3='';

2、SELECT (CASE WHEN T.COLUMN1条件或判断 THEN 结果 ELSE 结果 END) FROM TABLE_TEST T;

SQL多个条件查询语句

设计了一个如图的查询项
如只填写地类编码(DLBM),则只搜索DLBM,其他不搜索
如果填写了多项(如地类编码DLBM和地类名称DLMC),则搜索DLBM and DLMC
想知道有什么语句能够实现这个功能么?就是将非空的textbox才作为搜索项
个人编程水平较差..只能想到用if 语句进行排列组合判断,感觉非常繁琐,效率也很低
所以特来求助

1、首先我们打开电脑里的SQL打开一个数据库。

2、然后我们点击界面上方菜单栏里的表选项打开数据库的一张表进行查询。

3、然后我们选择表右上角的加号键。

4、然后我们在编辑器中输入如图所示代码进行数据查询。

5、然后我们点击运行查看运行结果。

6、多条件查询最终结果如图所示我们可以看到多条件查询语句成功。

参考技术A Declare @DLBM nvarchar(255),@DLMC nvarchar(255)
set @DLBM='查询内容'
set @DLMC='查询内容'
select  * from 表名称 where DLBM=@DLBM and len(@DLBM)>0
union
select  * from 表名称 where DLMC=@DLMC and len(@DLMC)>0
.......拼接全部条件追问

编译出现以上错误..应该是SQL语句错误..麻烦请看下哪里应该修改

追答

你写的不对,不是给你定义了变量嘛,把数据放在
set @DLBM='查询内容'
set @DLMC='查询内容'

你的语法问题
两个SQL 拼 union 两头 都不需要分号,只要空格就可以

追问

这是在c#中调用的啊,变量在之前定义过了..
就是不知道C#中SQL语句具体怎么写

追答

string Sql="select * from dltb where 1=1 ";
if( DLBM.Length>0)
Sql+=" and DLBM='"+DLBM+"' ";
if( TBBH.Length>0)
Sql+=" and TBBH='"+TBBH+"' ";

本回答被提问者和网友采纳
参考技术B 你都用在一张表里面嘛追问

是来自同一张表的数据

追答

你可以这样写 select * from table where DLBM like ‘%+“DLBM”+%’ and DLMC like ‘%+“DLMC”+%’ and ·······但是影响查询效率。

以上是关于sql 查询语句中对某列数据做条件判断的主要内容,如果未能解决你的问题,请参考以下文章

sql对查询结果求和

对sql语句的查询结果按条件显示不同的颜色

sqlserver怎样判断查询出来的表里 某列是不是存在

ASP中对SQL语句查询结果进行二次筛选

SQL多个条件查询语句

SQL 怎样将查询出某列的多行数据,变为一行显示? 通过SQL语句查询出结果 AutoID cT