首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Perl等价于(Postgre)SQL BETWEEN运算符?

Perl等价于(Postgre)SQL BETWEEN运算符?
EN

Stack Overflow用户
提问于 2009-11-07 05:40:45
回答 5查看 6.7K关注 0票数 2

真的有这样的事情吗?a <= expr <= b的等价物,或者在SQL语言expr BETWEEN a AND b中,expr只计算一次?或者这只是getting silly的要求

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-07 06:14:50

在Perl中有多种方法可以做到这一点。

代码语言:javascript
运行
复制
if( $a < $x and $x < $b ){ ... }
... if $a < $x and $x < $b;
代码语言:javascript
运行
复制
use 5.10.1;
if( $x ~~ [$a..$b] ){ ... }

given( $x ){
  when( [$a..$b] ){ ... }
}
代码语言:javascript
运行
复制
use 5.11.0; # development branch
given( $x ){
  ... when [$a..$b];
}
票数 20
EN

Stack Overflow用户

发布于 2009-11-07 06:03:09

您可以使用Range operator + smart macthing

代码语言:javascript
运行
复制
if($expr ~~ [$a..$b])
票数 6
EN

Stack Overflow用户

发布于 2009-11-08 15:25:23

在Perl6中,比较运算符是可链接的。

http://perlcabal.org/syn/S03.html#Chained_comparisons

Perl6支持比较运算符的自然扩展,允许多个操作数:

代码语言:javascript
运行
复制
if 1 < $a < 100 { say "Good, you picked a number *between* 1 and 100." }
if 3 < $roll <= 6              { print "High roll" }
if 1 <= $roll1 == $roll2 <= 6  { print "Doubles!" }

在Perl5中,它们不是这样的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1690654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档