当前位置:首页 » 编程语言 » casewhen的sql题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

casewhen的sql题

发布时间: 2022-06-10 14:15:59

‘壹’ sql的case when问题

USEtempdb
GO
IFOBJECT_ID('TA')ISNOTNULL
DROPTABLETA
CREATETABLETA
(
产品NVARCHAR(10),
编号NVARCHAR(10),
公司NVARCHAR(10),
价格INT)
GO
INSERTINTOTA
SELECT'1','A','11',1UNIONALL
SELECT'2','B','11',2UNIONALL
SELECT'3','C','22',3UNIONALL
SELECT'1','A','22',4
GO
SELECT*FROMTAA
WHERENOT
(A.公司='22'AND
EXISTS(SELECT*FROMTABWHEREB.编号=A.编号ANDB.公司='11')
)

‘贰’ oracle case when 多条件的sql问题

select
case when count >=1 and count<3 then '关键'
when count >=3 and count<5 then '重点'
when count >=5 then '一般'
end xxx
from ...

‘叁’ 用sql语句 case when来解答这道题,谢谢!

SELECT Name
,SUM(CASE Course WHEN '语文' THEN Score ELSE 0 END) AS [语文]

,SUM(CASE Course WHEN '数学' THEN Score ELSE 0 END) AS [数学]

,SUM(CASE Course WHEN '英语' THEN Score ELSE 0 END) AS [英语]

FROM Score
GROUP BY Name

‘肆’ sql中case when问题

select count(case when price <500 then 1 else null end), count(case when price < 1000 then 1 else null end ), count(case when price >= 1000 then 1 else null end), average(price) from t

‘伍’ sql中Case when的问题

改成:
select Sname as 姓名,(CASE WHEN Ssex ='男' THEN 'male'
WHEN Ssex ='女' THEN 'female'
END) as 性别
from Student

‘陆’ sql中case when 的问题

max是sql聚合函数,不像一般函数那样可被孤立地使用,它需针对一个行集(一张表或查询)进行计算才能返回唯一一条结果。

题主可以试一下这样写:

select case when version=
(select max(version) from t1) then projectno end from t1;

又或者
select case when a.version=b.maxversion then
a.projectno end from t1 a,
(select max(version) as maxversion from t1) b;

‘柒’ SQL语句中case,when,then的用法

用法如下:

复制代码

SELECT

s.s_id,

s.s_name,

s.s_sex,

CASE

WHENs.s_sex='1'THEN'男'

WHENs.s_sex='2'THEN'女'

ELSE'其他'

ENDassex,

s.s_age,

s.class_id

FROM

t_b_students

WHERE

1=1

这两个结果是一样的:

需要注意的一点是,Case函数只返回第一个限定值,其余的Case将被自动忽略。

(7)casewhen的sql题扩展阅读:

Case有两种格式:简单函数和Case搜索函数。

简单的例子功能:

CASEsex

WHEN‘1’THEN‘男’

WHEN‘0’THEN‘女’

ELSE‘其他’END

Case搜索函数:

CASEWHENsex=‘1’THEN‘男’

WHENsex=‘0’THEN‘女’

ELSE‘其他’END

显然简单的Case函数天生简洁,但它们只适用于这种单字段单值比较,而Case搜索函数具有适用于所有比较用例的优势。

另一个需要注意的问题是,在Case函数满足了某个条件之后,其余的条件将被自动忽略,这样即使满足了多个条件,在执行过程中也只能识别第一个条件。

当使用CASEWHEN时,您可以将其视为没有字段名的字段,字段值是有条件的,并且在需要使用字段名时可以使用as来定义别名。

‘捌’ sql case when 怎么用

Case具有两种格式。简单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。

这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。

–比如说,下面这段SQL,将永远无法得到“第二类”这个结果。

CASE WHEN col_1 IN (‘a’, ‘b’) THEN ’第一类’。

WHEN col_1 IN (‘a’) THEN ’第二类’。

ELSE’其他’ END。

‘玖’ Sql case when 的问题

NO换成courseNO,还有case when end 后面最好加个列名,正确如下:
string sql = @"select courseNO as NO ,courseNO,courseName,courseIllustrate
case
when courseNO like 'C%' then '初中'
when courseNO like 'G%' then '高中'
end as 年级
from tb_crouse";

‘拾’ SQL case when 语句

太长了,但是看到一个问题,case
when,要求返回的类型必须一直。
你看你的第一个case
when语句
(case
when
to_char(statistic_date-payrefdate>=0)
and
to_char(statistic_date-payrefdate<90)
then
sum(a.planfee-nvl(c.payreffee,0))
else
''
end)
then后边返回的是一个求和,那么类型肯定是数字,而else分支,其他情况下居然返回了空字符串,字符型。这两个不一致,首先就错了。你先改了这些吧。