数据库中case语句和if语句的区别?

数据库中case语句和if语句的区别?,第1张

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就是筛子,只会允许一个符合它网眼大小的石头出去,并且会将这个石子打包成一个可用的表达式。

If 和case语句是VHDL里边两个非常重要的语句,如何用好她们来描述逻辑电路和时序电路是学会VHDL编程重要的一步。if 和 case语句有一定的相关性,也有一定的区别。相同的地方是他们可以实现几乎一样的功能。下面主要介绍一下她们之间的区别。

If 语句每个分支之间是有优先级的,综合得到的电路是类似级联的结构。Case语句每个分支是平等的,综合得到的电路则是一个多路选择器。因此,多个if elseif语句综合得到的逻辑电路延时往往比case语句要大。一些初学者在一开始往往喜欢用if elsif语句,因为这种语法表达起来更加直接,但是在运行速度比较关键的项目中,使用case语句的效果会更好。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10030670.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存