sql switch case语句,sql server 2005 存储过程根据传进来的值判断
sql switch case语句,sql server 2005 存储过程根据传进来的值判断详细介绍
本文目录一览: 数据库sql中的case语句~
set 不能连续的赋值。
case 语句也有错误。
可以改为:
declare @grade int,@result varchar(10)
set @grade=78
set @result= case when @grade<60 then '不及格'
when @grade>=60 and @grade <69 then '及格'
when @grade>=70 and @grade<79 then '中等'
when @grade>=80 and @grade<89 then '良好'
when @grade>=90 and @grade<=100 then '优秀'
else 'wrong'
end
select @result
declare @grade int,@result varchar(10)
set @grade=87
set @result= case
when @grade<60 then '不及格'
when @grade>=60 and @grade <69 then '及格'
when @grade>=70 and @grade<79 then '中等'
when @grade>=80 and @grade<89 then '良好'
when @grade>=90 and @grade<=100 then '优秀'
else 'wrong'
end
select @result
我用查询分析器测了,这样就没问题了
--语法错误
declare @grade int,@result varchar(10)
set @grade=78
set @result= case --删掉@grade
when @grade<60 then '不及格'
when @grade>60 and @grade <69 then '及格'
when @grade>70 and @grade<79 then '中等'
when @grade>80 and @grade<89 then '良好'
when @grade>90 and @grade<100 then '优秀'
else 'wrong'
end
select @result
query取得iframe中元素的几种方法
在iframe子页面获取父页面元素
代码如下:
$(
SQL语句中的CASE语句与高级语言中的switch语句,是标准SQL的语法,适用与一个条件判断有多种值的情况下分别执行不同的操作
灵活应用CASE语句可以使SQL语句变得简洁易读.
Case 使用方法:
Case具有两种格式。简单Case函数
和Case搜索函数。 --简单Case
函数CASE sexWHEN '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
switch case语句和if的区别
switch case语句和if的区别 if和switch都是条件判断语句,在效果上是没有什么差别的,而不同,我们可以从效率上来讲~ 举一个很简单的例子: if(A>B) {A=B;} else {B=A; } 如果将这个例子放在switch 语句中,也并不是不能实现,但是实现起来可能会比较麻烦一些,因为在switch语句中 case中要求的是常量,一般是不能进行逻辑判断的, 所以这也是if语句优于switch语句的地方! 但是如果您判断的都是几个常量的资料,我建议您最好采用switch语句,如下: switch(A) { case:xxxx /程式程式码 break; case:xxxxxx /程式程式码 break; } :csdnit./ 这样的语句,虽然if语句也是能实现的,但是效能就比switch差的有点远了
IF和CASE语句的区别 If 和case语句是VHDL里边两个非常重要的语句,如何用好她们来描述逻辑电路和时序电路是学会VHDL程式设计重要的一步。if 和 case语句有一定的相关性,也有一定的区别。相同的地方是他们可以实现几乎一样的功能。下面主要介绍一下她们之间的区别。 If 语句每个分支之间是有优先顺序的,综合得到的电路是类似级联的结构。Case语句每个分支是平等的,综合得到的电路则是一个多路选择器。因此,多个if elseif语句综合得到的逻辑电路延时往往比case语句要大。一些初学者在一开始往往喜欢用if elsif语句,因为这种语法表达起来更加直接,但是在执行速度比较关键的专案中,使用case语句的效果会更好。
请问switch语句中 case 1和case '1'有什么区别吗 case 1 表示switch()匹配的是整型 case '1' 匹配的是字元型
C程式中switch语句里case '1'和case 1有什么区别 可能之一 吧,分支 之一 switch(表示式) { case 常量表达式1: 语句1; break;
case 常量表达式2: 语句2; break; …… case 常量表达式n: 语句n; break; default: 语句n+1; break; }
用if巢状和用switch语句的区别? 如果用IF语句,可能结构会比较复杂。 C语言提供了switch语句直接处理多分支选择。
switch case是什么语句 switch (表示式){ case 值1 : 语句1 break; case 值2 : 语句2 break; ... default : 语句n break; } 从表示式值等于某个case语句后的值开始,它下方的所有语句都会一直执行,直到遇到一个break为止。随后,switch语句将结束,程式从switch结束大括号之后的第一个语句继续执行,并忽略其他case。 假如任何一个case语句的值都不等于表示式的值,就执行可选标签default之下的语句。 假如表示式的值和任何一个case标签都不匹配,同时没有发现一个default标签,程式会跳过整个switch语句,从它的结束大括号之后的第一个语句继续执行。
sql语句中,decode和case when语句的区别有哪些 select case A when '01' then B when '02' then C when '03' then D end from t1
switch的case语句里能再巢状swich语句吗 能 #include void main() { char ind='a'; char d='b'; switch(ind) { case 'a': printf("press another key\n"); switch(d) { case 'b': printf("b\n"); break; } break; default: break; } } /* #include #include typedef BOOL (*FtpCommand).
if else 语句与switch的用法区别 switch用来根据一个整型值进行多路分支,并且编译器可以对多路分支进行优化,所以在多路分支时用switch比if..else if .. else结构要效率高。
PASCAL语言中IF语句与CASE的区别 IF只能针对一个条件实现两个个分支,CASE可以根据一个表示式的值实现多个分支。 事实上几乎所有的CASE语句都可以用符合IF来实现,但是那样程式不直观,书写的内容也较多。 相反,CASE语句不能取代各种IF语句。
sql case when用法
sql case when用于选择判断。
case when类似于编程语言中的if else判断、switch case语句。该语句执行时先对条件进行判断,然后根据判断结果做出相应的操作。
Case具有两种格式:简单Case函数和Case搜索函数。
显然,简单Case函数胜在简洁,但是它只适用于这种单字段的单值比较,而Case搜索函数的优点在于适用于所有比较的情况。
还有一个需要注意的问题,Case函数在满足了某个符合条件后,剩下的条件将会被自动忽略,因此,即使满足多个条件,执行过程中也只认第一个条件。
在使用 CASE WHEN时,可以把它当作一个逻辑上的匿名字段,字段值根据条件确认,在需要使用字段名时可以是用 as来定义别名。
SQL 是 Structured Query Language 的缩写,中文译为“结构化查询语言”。SQL 是一种计算机语言,用来存储、检索和修改关系型数据库中存储的数据。
switch case语句支援哪些型别
switch case语句支援哪些型别 enum Color { RED, GREEN, BLUE, YELLOW } 执行结果: 是1 是红色 是test
switch语句的语法如下(case、default和break是其配套关键字): switch ( 表示式) { case 常量表达式1: 语句1; 可以是多行,可以加括号,也可以不加,到下一个case之前,都是本case的语句范围 [break;] 中括号,表示此语句可以没有case 常量表达式2: 语句2; [break;] ……case 常量表达式n: 语句n; [break;][default:] 语句n+1; [break;]}说明:break 表示退出{ }case后面只能跟一个值(加冒号:),而不能是一个表示式 switch(表示式) 后面没有分号(;){}前后没有分号(;)default语句可以出现在任何位置,但建议写到最后,表示除去case匹配之外的其它情况。也可以没有default语句switch语句规则:case标签必须是常量表达式(constant Expression) 只能针对基本资料型别使用switch,这些型别包括int、char等。对于其他型别,则必须使用if语句。 case标签必须是惟一性的表示式;也就是说,不允许两个case具有相同的值。如果两个case语句间没有break,则执行完匹配的case语句后,会顺序执行下面的语句,直到遇到break语句或switch结束连续的两个case语句表示,这两个case是同一种情况
C# 的switch-case的case语句里不能用uint型别? 可以
IF THEN语句是( )型别语句,case when语句是( )型别语句,with select语句是( )型别语句。 IF THEN语句是(顺序 )型别语句,case when语句是(顺序 )型别语句,with select语句是(并发 )型别语句。 应该是这样吧。 select when 内外都是并发的 when else 外并发内顺序 if then 内外都是顺序的 case when 外顺序内并发 不过我不知道题意是不是这个意思喔
Java的switch是否支援String作为引数,还支援哪些型别 java7开始支援String型别。 除此之外支援byte,short,int,char四个基本资料型别以及Enum列举型别。
C语言中,Switch开关语句可以测试哪些资料型别,CASE语句后量有什么要求 数字和字元都可以。 casd 1: 或者 case a: 或者 case "abc":
ios memcpy支援哪些型别 1、复制的内容不同。strcpy只能复制字串,而memcpy可以复制任意内容,例如字元阵列、整型、结构体、类等。2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字元的串结束符"\0"才结束,所以容易溢位。memcpy则是根据其第3个引数决定复制的长度
iPhone支援哪些档案型别? 支援声音档案格式:AAC (8 至 320 Kbps)、Protected AAC (来自 iTunes Store)、HE-AAC、MP3 (8 至 320 Kbps)、MP3 VBR、Audible (格式 2、3、4,Audible Enhanced Audio、AAX 与 AAX+)、Apple Lossless、AIFF 与 WAV 支援视讯格式:H.264 视讯最高可达 720p,每秒 30 帧,Main Profile level 3.1,采用 AAC-LC 声音格式,最高 160 Kbps,48kHz, 立体声为 .m4v, .mp4 与 .mov 档案格式;MPEG-4 视讯最高可达 2.5 Mbps,640 x 480,每秒 30 帧,Simple Profile 采用 AAC-LC 声音格式,每声道最高 160 Kbps,48 KHz,立体声为 .m4v、.mp4 与 .mov 档案格式;Motion JPEG (M-JPEG) 最高可达 35 Mbps,1280 x 720,每秒 30 帧,音讯为 ulaw 格式,PCM 立体声为 .avi 档案格式 邮件附件支援 可视档案型别:.jpg、.tiff、.gif (图片)、.doc 和 .docx (Microsoft Word)、.htm 和 . (网页)、.key (Keynote)、.numbers (Numbers)、.pages (Pages)、.pdf (Preview 和 Adobe Acrobat)、.ppt 和 .pptx (Microsoft PowerPoint)、.txt (text)、.rtf (rich text format); .vcf (联络人资讯); .xls 和 .xlsx (Microsoft Excel)
LG KP502支援哪些型别 支援JAVA。。。。。。。。。。我也买的这个机器。。950块~
hibernate 支援哪些资料型别 g java.lang.Long /long BIGINT 8位元组 short java.lang.Short /short SMALLINT 2位元组 byte java.lang.Byte /byte TINYINT 1位元组 float java.lang.Float /float FLOAT 4位元组 double java.lang.Double /double DOUBLE 8位元组 bigdecimal java.math.BigDecimal /NUMERIC character java.lang.Character /java.lang.String /char CHAR(1) 定长字元 string java.lang.String VARCHAR 变长字元 boolean java.lang.Boolean /Boolean BIT 布林型别 date java.util.Date /java.sql.Date DATE 日期
switch语句的格式和功能
switch语句的格式和功能 switch(表示式){ case常量表达式1: 语句1; case常量表达式2: 语句2; … case常量表达式n: 语句n; default : 语句n+1; } 一般,该语句与回圈语句一起使用,在每个case语句后面加上break语句,是强制跳出回圈的意思,如果没有,就会接连实行下面的语句,得不到想要的结果! 功能:判断( 表示式 )符合哪个 (常量表达式) 就执行哪个case后面的语句。
switch语句的格式和功能 +语言程式设计 学校的教学大纲 1.课程性质、任务与目的 C++语言程式设计课程是一门学习计算机高阶语言程式设计的课程。主要任务是介绍C++语言中的资料型别、运算、语句结构及其程式设计的基本方法。目的是使学生掌握一门高阶程式设计语言,了解面向物件程式设计的基本概念与方法,进而学会利用C++语言学会解决一般应用问题,并为后续课程奠定程式设计基础。 2.教学媒体 文字教材:《C++语言基础教程》(带自学辅导光碟) 徐孝凯编著 清华大学出版社出版 习题解答: 放在清华大学出版社的春满人间百花吐艳 福临小院四季常安 欢度春节
select语句的格式和含义 select语句在VB中select case 直(数值表示式,字元表示式) case 直 case else end select 在sql资料库中select * from 表名 where 条件 如:select user from dy where user=abcde(在表dy中查询user为abcde的记录) select 在C中也有这里就不在细说了。。楼主如果想知道的话可以去百度搜素select语句在C中的用法
switch语句的作用,功能,及含义 1.一般形式 switch(表示式) {case 常量表达式1:语句1 case 常量表达式2:语句2 … case 常量表达式n:语句n default: 语句n+1 } 例如:要求按照考试成绩的等级打印出百分制分数段 switch(grade) { case 'A':printf("85~100\n");break; case 'B':printf("70~84\n");break; case 'C':printf("60~69\n");break; case 'D':printf("<60\n");break; default:printf("error!\n"); } 2.说明 (1)switch后面括弧内的“表示式”,ANSI标准允许它为任何型别; (2)执行过程; (3)各个case和default的出现次序不影响执行结果; (4)每一个case的常量表达式的值必须互不相同; (5)执行完一个case后面的语句后,流程控制转移到下一个case继续执行,可用break语句终止。 (6)多个case可以共用一组执行语句,如: case 'A': case 'B': case 'C': prinf(">60\n");break;
SWITCH语句的基本格式、基本意思? xxhelforever弱智玩意case后面是冒号
要VF中SQL语句的格式 VF常用SQL语句大全 SQL是结构化查询语言,查询是SQL语言的重要组成部分,但不是全部,SQL还包括资料定义,资料操纵和资料控制功能等部分.如今SQL已成为关系资料库的标准资料语言,所以现在的关系资料库管理系统都支援SQL.FOXPRO从2.5 FOR DOS版式就开始支援SQL,现在VISUAL FOXPRO当然在之方面更加完善,以下是VF经常用到SQL语句. --语 句 功 能 --资料操作 SELECT --从资料库表中检索资料行和列 INSERT --向资料库表新增新资料行 DELETE --从资料库表中删除资料行 UPDATE --更新资料库表中的资料 --资料定义 CREATE TABLE --建立一个数据库表 DROP TABLE --从资料库中删除表 ALTER TABLE --修改资料库表结构 CREATE VIEW --建立一个检视 DROP VIEW --从资料库中删除检视 CREATE INDEX --为资料库表建立一个索引 DROP INDEX --从资料库中删除索引 CREATE PROCEDURE --建立一个储存过程 DROP PROCEDURE --从资料库中删除储存过程 CREATE TRIGGER --建立一个触发器 DROP TRIGGER --从资料库中删除触发器 CREATE SCHEMA --向资料库新增一个新模式 DROP SCHEMA --从资料库中删除一个模式 CREATE DOMAIN --建立一个数据值域 ALTER DOMAIN --改变域定义 DROP DOMAIN --从资料库中删除一个域 --资料控制 GRANT --授予使用者访问许可权 DENY --拒绝使用者访问 REVOKE --解除使用者访问许可权 --事务控制 COMMIT --结束当前事务 ROLLBACK --中止当前事务 SET TRANSACTION --定义当前事务资料访问特征 --程式化SQL DECLARE --为查询设定游标 EXPLAN --为查询描述资料访问计划 OPEN --检索查询结果开启一个游标 FETCH --检索一行查询结果 CLOSE --关闭游标 PREPARE --为动态执行准备SQL 语句 EXECUTE --动态地执行SQL 语句 DESCRIBE --描述准备好的查询 ---区域性变数 declare @id char(10) --set @id = 10010001 select @id = 10010001 ---全域性变数 ---必须以@@开头 --IF ELSE declare @x int @y int @z int select @x = 1 @y = 2 @z=3 if @x > @y print x > y --列印字串x > y else if @y > @z print y > z else print z > y --CASE use pangu update employee set e_wage = case when job_level = ’1’ then e_wage*1.08 when job_level = ’2’ then e_wage*1.07 when job_level = ’3’ then e_wage*1.06 else e_wage*1.05 end --WHILE CONTINUE BREAK declare @x int @y int @c int select @x = 1 @y=1 while @x < 3 begin print @x --列印变数x 的值 while @y < 3 begin select @c = 100*@x + @y print @c --列印变数c 的值 select @y = @y + 1 end select @x = @x + 1 select @y = 1 end --WAITFOR --例 等待1 小时2 分零3 秒后才执行SELECT 语句 waitfor delay ’01:02:03’ select * from employee --例 等到晚上11 点零8 分后才执行SELECT 语句 waitfor time ’23:08:00’ select * from employee
if then else 条件语句的格式为 c#里没有这种语句哦,只有 if(条件) { 操作; } else { 操作 }
VFP 里面的 wait window语句的格式和位置。 wait [emessagetext] [to varname] [window [at nrow,ncolumn]] [nowait] [clear|noclear][timeout nseconds] 举列子 wait window "请等候..." nowait &&显示在活动视窗右上面,程式继续进行,但仍显示"请等候..." 直到 wait clear 才消失
vf 中lnsert 和select语句的格式是怎样的? inse into 表名 value(栏位1,栏位2.....) sele from 表名 into table 表名
巢状的if语句的格式是什么? if语句里面还有if语句,就叫巢状if语句。比如我们先判断一个人是否在地球上---条件满足---巢状if判断这个人是否在北半球---条件满足---巢状if判断这个人是否是男人! 这就是一个简单的3层巢状if判断: if(一个人在地球上==true) { if(这个人在北半球==true) { if(这个人是男人==true) { 巢状完成,只有这3个条件都满足才可以。巢状主要起这个作用。 } } }
sql server 中如何使用类似switch..case的分支操作
select case when .... then .... when ... then ... end from ....
case
when 条件 then 结果
when 条件 then 结果
else 结果
end
限定为某个数值? 不是很理解啥意思呵呵。
有很多方法能确定查询条件,或者输出类别。
什么都不写,但是有默认值的 default
= 号 也能确定某个特定值。。。
isnull(字段,'输出') as 名 也能保证字段为DBNULL时输出设定的值。
还有很多函数能实现输出的变化,Convert()[case()]。
分支语句也能哦,SQL你面的switch(貌似SQL查询与距离不能写if..else)
case 字段 when 字段值 then '输出'...else '最后输出' end
多用在存储过程。比如:有个字段status状态 0,1 你可以用分支语句来设定输出内容 0就输出 关闭 1就输出打开 嘿嘿!
is 关键字 在查询的时候也能指定 某些类别 如 is not null 等。
还有你是不是想问 SQL字段和.NET里面的变量映射表啊?MSDN里有哇~
如 short(sql) >> Int16(c#)
SQL中怎么在表名中使用case之类的判断
switch(type)
{
case 1:
tablename="a";
break;
case 2:
tablename="b";
break;
case 3:
tablename="c";
break;
default:
printf( "错误的表类型!\n" );
return -1;
}
sqlstr = "select ... from ";
strcat( sqlstr, tablename );
strcat( sqlstr, "where ..." );
参考一下。
其实,switch比if代码量少不了多少,只是代码结构上清晰一点。
另外,如果三个查询中的字段并不相同,还是用if吧,用if更简单、清晰一些。
利用type值跟表的关键字建立一对一的映射关系,如上述的1,2,3分别查名字为'a','b','c'的表,可以表示成对应某type,查找名字为('a'+type-1)的表。
构造一个简单的映射关系即可。
可以的,不过SQL效率会降低,用UNION ALL
原来是FROM 表A
改为FROM
(SELECT 1 AS TYPE ..... FROM 表A
union all
select 2 as type .... from 表B
union all
select 3 as type .... from 表C)
where type = 你想要的type
select CASE type
when 1 then (select 列名 from a)
when 2 then (select 列名 from b)
when 3 then (select 列名 from c)
else id
end from table
此处“列名”需要跟 type 的类型一致。
像你这样的问题,我推荐你使用拼接SQL,最后再全用exec sp_executesql,这样你的存储过程只要一个参数@type,再结合select case之类的语法做个判断,根据不同的值设置不同的表,而字段列表可以用统一的。
楼主这个需求。
SQL 里面, 不用 CASE WHEN 也是可以处理。
但是如果你检索的 3个结构大致相同的表。 检索的字段 数量,数据类型要一样。否则处理不了。
下面是例子:
SELECT
*
FROM
(
SELECT
A字段, B字段, C字段
FROM
第一个表a
WHERE
@外部传入的参数 = 1
AND 其他条件
UNION ALL
SELECT
A字段, B字段, C字段
FROM
第二个表b
WHERE
@外部传入的参数 = 2
AND 其他条件
UNION ALL
SELECT
A字段, B字段, C字段
FROM
第三个表c
WHERE
@外部传入的参数 = 3
AND 其他条件
)
这个 SQL 里面的 @外部传入的参数 , 就是你的 type=1或2或3
当 type=1 的时候, 后面2个表,由于条件变成了 2=1 3=1 ,所以没有数据可以检索。 相当于只取得 第一个表的数据。
Access 数据库的 SQL语法 里的 Switch() 怎么用?
update 表 set 年龄=
case 名字='小红' then 3
case 名字='小蓝' then 5
else 年龄
end
Sql Server 可以支持在sql中写if或switch吗
可以啊
if(条件)
begin
代码块
end
switch有点区别,在sql server中使用case when then 代替
使用1
case
when 条件
then 返回的值
else 返回的值
end
使用二,case中的值和when中的值做对比,满足执行then,case中的值可以是字段
case 值
when 值
then 返回的值
else 返回的值
end
sql server 2005 存储过程根据传进来的值判断
sql语句中用case when 代替 switch case
上面可以这样写:
DECLARE @type int
DECLARE @priv varchar(200)
set @priv=''
set @priv= case @type
when 0 then '000'
when 1 then '111'
when 2 then '222'
end