数据库if
A. 存储过程的if,else怎么写
不同的数据库中,存储过程中if else 语句写法有一些差别。
如果是sqlServer数据库,存储过程的if, else语句可以这样写:
ifa>b
Begin
print'a'
End
Elseifa<b
Begin
print'b'
End
Else
Begin
print'代码'
End
Oracle 采用下面这种写法:
IFtestvalue>100THEN
dbms_output.put_line('100+');
ELSIFtestvalue=100THEN
dbms_output.put_line('100');
ELSE
dbms_output.put_line('100-');
ENDIF;
DB2, MYSQL 是下面这种写法: ( 与 Oracle 区别在于那个 ELSIF )
IFp_val>100THEN
INSERTINTOoutput_debugVALUES('100+');
ELSEIFp_val=100THEN
INSERTINTOoutput_debugVALUES('100');
ELSE
INSERTINTOoutput_debugVALUES('100-');
ENDIF;
B. sql语句中if判断条件怎么写(mysql语句中if判断条件怎么写)
sql语句中if判断条件是结合select语句使用的。IF函数也能通过判断条件来返回特定值,它的语法如下:IF(expr,result_true,result_false)。
expr是一个条件表达式,如果结果为true,则返回result_true,否则返回result_false。在一些场景中,IF函数和CASEWHEN是有同样效果的,前者相对简单,后者能应对更复杂的判断。另外,IF函数还可以和聚合函数结合。
SQL其他情况简介。
SQL是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不茄中要求用户指定对数据的存放方法,也不需要用户了解具体的态纳槐数据存放方式,所以具有完全不同底层帆友结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。
C. oracleif判断语句
oracle的if语句采用decode函数。
DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
表示如果value 等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。
Oracle数据库是对标准sql语言的过程化扩展,因此产生了pl/sql语言。其中的if语句大量使用使得程序模块化的功能方便实用。现在要讨论的是if语句的基本使用方法。
连接数据库
请输入用户名: scott/123456
设置环境变量
SQL> set serveroutput on
定义两个字符串变量,然后赋值,接着使用if……then语句比较两个字符串变量的长度,并输出比较结果。
declare
a varchar(10);
b varchar(10);
begin
a:='beijing';
b:='guangdong';
if length(a)>length(b)
then dbms_output.put_line('a>b');
end if;
end;
过if……then……else语句实现只有年龄大于等于56岁,才可以申请退休,否则程序会提示不可以申请退休。
declare
a number(10);
begin
a:=&x;
if a>=56
then dbms_output.put_line('可以申请退休');
else dbms_output.put_line('不可以申请退休');
end if;
end;
制定一个月份数值,然后使用if……then……elsif语句判断它所属的季节,并输出季节信息。
declare
mon number(10);
begin
mon:=&x;
if mon=3 or mon=4 or mon=5
then dbms_output.put_line('春节');
elsif mon=6 or mon=7 or mon=8 then dbms_output.put_line('夏季');
elsif mon=9 or mon=10 or mon=11 then dbms_output.put_line('秋季');
elsif mon=12 or mon=1 or mon=2 then dbms_output.put_line('冬季');
end if;
end;
制定一个季度数值,然后使用case语句判断它所包含的月份信息并输出。
declare
ss number(10);
begin
ss:=&x;
case
when ss=1 then dbms_output.put_line('包含月份3,4,5');
when ss=2 then dbms_output.put_line('包含月份6,7,8');
when ss=3 then dbms_output.put_line('包含月份9,10,11');
when ss=4 then dbms_output.put_line('包含月份12,1,2');
end case;
end;
D. 数据库中case语句和if语句的区别
SELECT
'Price
Category'
=
CASE
WHEN
price
IS
NULL
THEN
'Not
yet
priced'
WHEN
price
<
10
THEN
'Very
Reasonable
Title'
WHEN
price
>=
10
and
price
<
20
THEN
'Coffee
Table
Title'
ELSE
'Expensive
book!'
END
先说下,case要和end一块用。
从上面可以看出,case里用的是when
then
形式,从整个case
end来看,它是从自己的多个语句中择一输出结果。
如果是把when
看成if
,就好理解多了,if语句就像是筛子里的石子,而case
end就是筛子,只会允许一个符合它网眼大小的石头出去,并且会将这个石子打包成一个可用的表达式。
E. 数据库里面if语句有哪三种模式
1)简化形式
if(表达式) 语句块
如: if(x>y) printf(“%d”,x);
2)一般形式
if (表达式)
语句块1
else
语句块2
例如:
if (x>y)
printf(“max=%d”,x);
else
printf(“max=%d”,y);
3)嵌套形式
含义:一条if语句重又包含另一个if语句称为if语句的嵌套.
格式:
if( )
if( ) 语句块1
else 语句块2
else
if( ) 语句块3
else 语句块4
例如:
if (score>90)
printf(“very good”);
else
if(score>80)
printf(“good”);
else
if(score>60)
printf(“ok”);
else
printf(“bad”);
如果语句块包含多个语句,用{}就行了
例如:
if(n>0)
{
printf("%d",n);
printf("是正数\n");
}
F. 增加if语句判断数据库是否存在
判断方法如下
一、Select字段列表From数据表例:1、selectid,gsmc,add,telfromhaf(*表示数据表中所有字段)2、select单价,数量,单价*数量as合计金额fromhaf(As设置字段的别名)二、Select?from?Where筛选条件式例筛选条件式:1、字符串数据:select*from成绩单Where姓名='李明ƈ、万用字符:select*from成绩单Where姓名like'李%'select*from成绩单Where姓名like'%李%'select*from成绩单Where姓名like'%李_Ɖ、特殊的条件式:1.=/>/<>/>=/<=2.AND逻辑与OR逻辑或NOT逻辑非3.Where字段名称in(值一,值二)4.Where字段名称IsNull/Where字段名称IsNotNull