当前位置:首页 » 编程语言 » sqlwhencasethen

sqlwhencasethen

发布时间: 2024-05-05 23:27:51

Ⅰ PLsql中,select case..when.. then..什么意思怎么用

case when ... then .. when .. then ... end

这种表达式,是sql的不同条件分支结果。

举例如下,

1、创建数据表,create table test_student(stu_id number, class_id number);

Ⅱ SQL判断语句用法和多表查询

1.格式化时间sql语句
本例中本人随便做了两张表,和实际不是很相符,只是想说明sql语句的写法。
例1表格式如下:
需求:查询出本表,但需要使time字段的时间格式为yyyy-MM-dd,比如:2013-08-13
sql写法:
SELECT
u.id,u.userId,u.timeType,DATE_FORMAT(time,'%Y-%m-%d')
AS
time,secondId
FROM
`user`
u
运行结果:
2.多表查询(三表查询)
例二三表结构如下:
需求:查询出主表,要求在主表中显示username和secondname
sql写法:
SELECT
u.id,n.`name`,u.timeType,u.time,s.`name`
FROM
`user`
u,`name`
n,`second`
s
WHERE
u.userId=n.id
AND
u.secondId=s.id
运行结果:
3.when
then判断语句
例三表结构如下:
需求:查询上表,若timeType字段值为2时,显示每月的第二天,若timeType字段值为4时,显示每月的第四天
sql写法:
SELECT
u.id,u.userId,(CASE
WHEN
u.timeType=2
THEN
'每月第二天'
WHEN
u.timeType=4
THEN
'每月第四天'
END)
AS
timeType
,u.time,u.secondId
FROM
`user`
u
运行结果:
以上所述是小编给大家介绍的SQL判断语句用法和多表查询,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

Ⅲ SQL中CASE WHEN THEN的用法

selectcasewhenage<30thenN'青年'whenagebetween30and49thenN'中年'elseN'老年'endas[年龄段],count(name)as[数目]fromtable
groupbycasewhenage<30thenN'青年'whenagebetween30and49thenN'中年'elseN'老年'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将被自动忽略。

(4)sqlwhencasethen扩展阅读:

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...then...else...end) 的详细解释是什么

例如一个3条件取值的字段:

casewhen条件1then取值1when条件2then取值2else取值3end

when后接条件语句,then后为字段取值(数值或字符串等都可以,但类型须一致)。

Ⅵ sql 2000中 select case when then 的用法

CASE WHEN condition THEN result

[WHEN ...]

[ELSE result]
END

CASE
子句可以用于任何表达式可以有效存在的地方。 condition 是一个返回boolean 的表达式。 如果结果为真,那么
CASE
表达式的结果就是符合条件的 result。 如果结果为假,那么以相同方式搜寻任何随后的 WHEN 子句。
如果没有 WHEN
condition 为真,那么 case 表达式的结果就是在
ELSE 子句里的值。
如果省略了 ELSE
子句而且没有匹配的条件, 结果为 NULL。

例子:

SELECT * FROM test;

a
---

1

2

3

SELECT a,

CASE WHEN a=1 THEN 'one'

WHEN a=2 THEN 'two'

ELSE 'other'

END

FROM test;

a | case
---+-------

1 | one

2 | two

3 | other

所有 result 表达式的数据的类型都必须可以转换成单一的输出类型。

下面这个"简单的" CASE
表达式是上面的通用形式的一个特殊的变种。

CASE expression

WHEN value THEN result

[WHEN ...]

[ELSE result]
END

先计算 expression 的值, 然后与所有在WHEN
子句里声明的 value 对比,直到找到一个相等的。 如果没有找到匹配的,则返回在
ELSE 子句里的
result (或者 NULL)。 这个类似于 C 里的
switch
语句。

上面的例子可以用简单 CASE
语法来写:

SELECT a,

CASE a WHEN 1 THEN 'one'

WHEN 2 THEN 'two'

ELSE 'other'

END

FROM test;

a | case
---+-------

1 | one

2 | two

3 | other

CASE
表达式并不计算任何对于判断结果并不需要的子表达式。 比如,下面是一个可以避免被零除的方法:

SELECT ... WHERE CASE WHEN x <> 0 THEN y/x > 1.5 ELSE false END;

热点内容
cbs加密 发布:2024-05-19 06:29:56 浏览:200
ssis存储过程 发布:2024-05-19 06:21:31 浏览:630
怎样删除小视频文件夹 发布:2024-05-19 05:49:29 浏览:589
开启php短标签 发布:2024-05-19 05:44:12 浏览:473
android各国语言 发布:2024-05-19 05:42:54 浏览:247
微信什么资料都没怎么找回密码 发布:2024-05-19 05:35:34 浏览:907
填志愿密码是什么 发布:2024-05-19 05:30:23 浏览:318
城堡争霸自动掠夺脚本 发布:2024-05-19 05:22:06 浏览:204
asp编程工具 发布:2024-05-19 05:20:36 浏览:143
insertpython 发布:2024-05-19 05:12:26 浏览:244