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

sql语句where中case

发布时间: 2022-08-11 11:25:23

sql文的where中使用case when时,能不能用like 若能,请用简单的代码演示一下 谢谢!

Select
type = case when column1 like '%_abc_%' then 'a'
when column2 like '%GGG%' then 'b'
when column1 like '%_def_%' then 'c'
else 'others' end,
column1,
column2
from table1
where 1=1

⑵ Sql文的where中使用case when

这样就可以了
select B.bCol_1,B.bCol_2,C.cCol_1
from TBL_B B left join TBL_C C
on B.bCol_Key = C.cCol_Key
where (B.bCol_Time < 'xxxx' and B.bCol_Flag<>0) or ( C.cCol_Time < 'xxxx' and B.bCol_Flag=0)

⑶ sql中where后面用case的问题

set @bzdw = isnull(@bzdw,’')

where <其他条件 and>
(@wldw=‘’ or @wldw = wldw)

⑷ sql where 后面跟 case 的问题

SQL 帮助文档的例子
SELECT Category =
CASE type
WHEN 'popular_comp' THEN 'Popular Computing'
WHEN 'mod_cook' THEN 'Modern Cooking'
WHEN 'business' THEN 'Business'
WHEN 'psychology' THEN 'Psychology'
WHEN 'trad_cook' THEN 'Traditional Cooking'
ELSE 'Not yet categorized'
END,
CAST(title AS varchar(25)) AS 'Shortened Title',
price AS Price
FROM titles
WHERE price IS NOT NULL
ORDER BY type, price
COMPUTE AVG(price) BY type
GO

⑸ sqlserver的sql语句里能在where条件里用case when吗,如果可以,请给个简单的例子。

1>
2> SELECT * FROM t_test_sub;
3> GO
id main_id value
----------- ----------- ----------
2 12 TWOTWO
11 21 AAAA
12 22 BBBB
13 NULL CCCC
14 NULL DDDD
15 NULL EEEE
(6 行受影响)

1> UPDATE t_test_sub set value = 'test' WHERE case when id>10 then 1 else 0 end
= 1
2> go
(5 行受影响)

1> SELECT * FROM t_test_sub;
2> go
id main_id value
----------- ----------- ----------
2 12 TWOTWO
11 21 test
12 22 test
13 NULL test
14 NULL test
15 NULL test
(6 行受影响)
1>

⑹ sql where case when then请在这里概述您的问题

case
when最后要输出一个值,多用于select列表中,如果用在where中,就要看你能否正确输出值了
很明显你的语句
(case
when
end)=最后没有响应的值出现,就不对了呗

⑺ 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)sql语句where中case扩展阅读:

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 的用法

Select Case 语句在有多个可能的条件必须被检查时使用。与 If 语句不同,Select Case语句在找到匹配的Case 表达式并执行了Case 表达式和下一个Case 表达式之间的语句后将立即跳出。如果没有匹配的Case 表达式,将执行其它语句。

Case Else 与lse 的意义相同。

Case 语句能接受各种类型的(作为判断条件的)表达式。表达式可以是单一值、由逗号分隔的一组值、能返回值的函数、用"To"关键字指定的值的范围或者使用"Is"关键字对等式或不等式进行测试。您可以连接不同类型的不同表达式,只要将它们用逗号分开即可。

⑼ sql server2008中where后面跟 case 或者 别的判断都行

where 后面加上CASE是可以的,但要注意括号,表示是一个订算结果。
示例如下:
CREATE TABLE #temp
(
id INT IDENTITY(1, 1) ,
name VARCHAR(20) ,
startYear INT ,
startMonth INT
)

INSERT INTO #temp
SELECT 'z' ,
'2010' ,
'12'
UNION ALL
SELECT 'e' ,
'2011' ,
'11'
UNION ALL
SELECT 'a' ,
'2011' ,
'2'
UNION ALL
SELECT 'b' ,
'2011' ,
'5'
UNION ALL
SELECT 'c' ,
'2011' ,
'10'
UNION ALL
SELECT 'd' ,
'2011' ,
'7'

--查询早于等于指定日期的数据
DECLARE @condition VARCHAR(6)
SET @condition = '201110'

SELECT *
FROM #temp A
WHERE ( CASE WHEN LEN(A.startMonth) = 1
AND A.startMonth != 0
THEN CAST(( CAST(startYear AS VARCHAR(4)) + '0'
+ CAST(A.startMonth AS VARCHAR(1)) ) AS DATE)
WHEN LEN(A.startMonth) = 2
THEN CAST(CAST(startYear AS VARCHAR(4))
+ CAST(A.startMonth AS VARCHAR(2)) AS DATE)
END ) <= CAST(@condition AS DATE)

DROP TABLE #temp

⑽ SQL中case,when,then,else的用法是什么

用法:

1、第一种写法:

复制代码

SELECT

s.s_id,

s.s_name,

s.s_sex,

CASE

WHEN s.s_sex = '1' THEN '男'

WHEN s.s_sex = '2' THEN '女'

ELSE '其他'

END as sex,

s.s_age,

s.class_id

FROM

t_b_student s

WHERE

1 = 1

2、第二种写法

SELECT

s.s_id,

s.s_name,

s.s_sex,

CASE s.s_sex

WHEN '1' THEN '男'

WHEN '2' THEN '女'

ELSE '其他'

END as sex,

s.s_age,

s.class_id

FROM

t_b_student s

WHERE

1 = 1

两个运行结果一样:

有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。

(10)sql语句where中case扩展阅读:

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

简单Case函数:

CASE sex

WHEN‘1’THEN‘男’

WHEN‘0’THEN‘女’

ELSE‘其他’END

Case搜索函数:

CASE WHEN sex=‘1’THEN‘男’

WHEN sex=‘0’THEN‘女’

ELSE‘其他’END

显然,简单Case函数生在简洁,但是它只适用于这种单字段的单值比较,而Case搜索函数的优点在于适用于所有比较的情况。

还有一个需要注意的问题,Case函数在满足了某个符合条件后,剩下的条件将会被自动忽略,因此,即使满足多个条件,执行过程中也只认第一个条件。

在使用CASE WHEN时,可以把它当作一个没有字段名的字段,字段值根据条件确认,在需要使用字段名时可以是用as来定义别名。