SQL 里select birthday 之后怎么js判断select是否为空画线的条件 感谢

vb中SQL查询RecordSource设为 SELECT date()-最新维护日期 as 时间差 from 表名怎么添加判断时间差的条件_百度知道这样的SQL查询“SELECT * FROM 对象A WHERE 条件1 AND 条件2”对吗?_百度知道如何在select语句中加判断条件 - Sql Server&&&&>>&& 怎么在select语句中加判断条件现在有一个表table& age_level
child_num child_pay child_time adult_num adult_pay adult_time older_num older_pay older_time1
....根据age_level来抓取要的 num pay time三个值当age_level = 1 的时候返回 child_num child_pay child_time 的值作为 num pay time当age_level = 2 的时候返回 adult_num adult_pay adult_time 的值作为 num pay time当age_level = 3 的时候返回 older_num older_pay older_time 的值作为 num pay time这样的sql语句怎么写?------解决方案--------------------SQL code
select age_level,
(case when age_level = 1 then Chile_num when age_level=2 then adult_num when age_level=3 then older_num end)as num,
(case when age_level = 1 then Chile_pay when age_level=2 then adult_pay when age_level=3 then older_pay end)as pay,
(case when age_level = 1 then Chile_time when age_level=2 then adult_time when age_level=3 then older_time end)as time
from table
------解决方案--------------------SQL code
decode(age_level,1,child_num ,2,adult_num, older_num)num ,
decode(age_level,1,child_pay ,2,adult_pay, older_pay)pay ,
decode(age_level,1,child_time,2,adult_time, older_time)time,[转]SQL利用Case When Then多条件判断
[转]SQL利用Case When Then多条件判断
12:05:00来源:
CASE? ? ? WHEN 条件1 THEN 结果1? ? ? WHEN 条件2 THEN 结果2? ? ? WHEN 条件3 THEN 结果3? ? ? WHEN 条件4 THEN 结果4.........? ? ? WHEN 条件N THEN 结果N? ? ? ELSE 结果XENDCase具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sex? ? ? ? ? ? ? ? WHEN '1' THEN '男'? ? ? ? ? ? ? ? WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男'? ? ? ? ? ? ? ? WHEN sex = '2' THEN '女'ELSE '其他' END例如:SELECT? ? ? ? id, name, cj, (CASE WHEN cj & 60 THEN '不及格' WHEN cj BETWEEN 60 AND 90 THEN '良好' WHEN cj & 90 THEN '优秀' END) AS 状态FROM? ? stud?这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。--比如说,下面这段SQL,你永远无法得到“第二类”这个结果CASE WHEN col_1 IN ( 'a', 'b') THEN '第一类'? ? ? ? ? ? ? ? WHEN col_1 IN ('a')? ? ? ? ? ? THEN '第二类'ELSE'其他' END下面我们来看一下,使用Case函数都能做些什么事情。一,已知数据按照另外一种方式进行分组,分析。有如下数据:(为了看得更清楚,我并没有使用国家代码,而是直接用国家名作为Primary Key)国家(country) 人口(population)中国 600美国 100加拿大 100英国 200法国 300日本 250德国 200墨西哥 50印度 250根据这个国家人口数据,统计亚洲和北美洲的人口数量。应该得到下面这个结果。洲 人口亚洲 1100北美洲 250其他 700想要解决这个问题,你会怎么做?生成一个带有洲Code的View,是一个解决方法,但是这样很难动态的改变统计的方式。如果使用Case函数,SQL代码如下:SELECT? ? SUM(population),? ? ? ? ? ? ? ? CASE country? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WHEN '中国'? ? ? ? THEN '亚洲'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WHEN '印度'? ? ? ? THEN '亚洲'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WHEN '日本'? ? ? ? THEN '亚洲'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WHEN '美国'? ? ? ? THEN '北美洲'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WHEN '加拿大'? ? THEN '北美洲'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WHEN '墨西哥'? ? THEN '北美洲'? ? ? ? ? ? ? ? ELSE '其他' ENDFROM? ? ? ? Table_AGROUP BY CASE country? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WHEN '中国'? ? ? ? THEN '亚洲'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WHEN '印度'? ? ? ? THEN '亚洲'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WHEN '日本'? ? ? ? THEN '亚洲'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WHEN '美国'? ? ? ? THEN '北美洲'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WHEN '加拿大'? ? THEN '北美洲'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WHEN '墨西哥'? ? THEN '北美洲'? ? ? ? ? ? ? ? ELSE '其他' END;同样的,我们也可以用这个方法来判断工资的等级,并统计每一等级的人数。SQL代码如下;SELECT? ? ? ? ? ? ? ? CASE WHEN salary &= 500 THEN '1'? ? ? ? ? ? ? ? ? ? ? ? WHEN salary & 500 AND salary &= 600? ? THEN '2'? ? ? ? ? ? ? ? ? ? ? ? WHEN salary & 600 AND salary &= 800? ? THEN '3'? ? ? ? ? ? ? ? ? ? ? ? WHEN salary & 800 AND salary &= 1000 THEN '4'? ? ? ? ? ? ? ? ELSE NULL END salary_class,? ? ? ? ? ? ? ? COUNT(*)FROM? ? ? ? Table_AGROUP BY? ? ? ? ? ? ? ? CASE WHEN salary &= 500 THEN '1'? ? ? ? ? ? ? ? ? ? ? ? WHEN salary & 500 AND salary &= 600? ? THEN '2'? ? ? ? ? ? ? ? ? ? ? ? WHEN salary & 600 AND salary &= 800? ? THEN '3'? ? ? ? ? ? ? ? ? ? ? ? WHEN salary & 800 AND salary &= 1000 THEN '4'? ? ? ? ? ? ? ? ELSE NULL END;二,用一个SQL语句完成不同条件的分组。有如下数据国家(country) 性别(sex) 人口(population)中国 1 340中国 2 260美国 1 45美国 2 55加拿大 1 51加拿大 2 49英国 1 40英国 2 60按照国家和性别进行分组,得出结果如下国家 男 女中国 340 260美国 45 55加拿大 51 49英国 40 60普通情况下,用UNION也可以实现用一条语句进行查询。但是那样增加消耗(两个Select部分),而且SQL语句会比较长。下面是一个是用Case函数来完成这个功能的例子SELECT country,? ? ? ? ? ? SUM( CASE WHEN sex = '1' THEN? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? population ELSE 0 END),? ? --男性人口? ? ? ? ? ? SUM( CASE WHEN sex = '2' THEN? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? population ELSE 0 END)? ? --女性人口FROM? ? Table_AGROUP BY这样我们使用Select,完成对二维表的输出形式,充分显示了Case函数的强大。三,在Check中使用Case函数。在Check中使用Case函数在很多情况下都是非常不错的解决方法。可能有很多人根本就不用Check,那么我建议你在看过下面的例子之后也尝试一下在SQL中使用Check。下面我们来举个例子公司A,这个公司有个规定,女职员的工资必须高于1000块。如果用Check和Case来表现的话,如下所示CONSTRAINT check_salary CHECK? ? ? ? ? ? ? ? ? ? ( CASE WHEN sex = '2'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? THEN CASE WHEN salary & 1000? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? THEN 1 ELSE 0 END? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ELSE 1 END = 1 )如果单纯使用Check,如下所示CONSTRAINT check_salary CHECK? ? ? ? ? ? ? ? ? ? ( sex = '2' AND salary & 1000 )女职员的条件倒是符合了,男职员就无法输入了。?Select? top? 100? State,JoinState,?When? Then多条件判断" alt="SQL利用Case? When? Then多条件判断" src="/Images/OutliningIndicators/None.gif" border=0 real_src="/Images/OutliningIndicators/None.gif"&(case? when? State=1? and? Joinstate=0? then? 2? when? State=1? and? JoinState=1? then? 1? else? 0? end)? as? usestate? from? UserInfo(2)select? ? ? ? ? ID,Username,namer=(case when(score&='50')? ? ? then '实习'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? when(score&'50'? and? score&='500' )? ? then '赤脚医生'? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? when(score&'500'? and score&='1000' )? ? then '村卫生员'?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
怎样实现远程连接有固定路由ip的sql server数据库sql select where like查询条件_百度知道

我要回帖

更多关于 jq判断select选中 的文章

 

随机推荐