回 帖 发 新 帖 刷新版面

主题:求一个SQL函数(在一字段中选出几个值)

大家好:
  我用SQL语句筛选数据时,有一个函数怎么也想不起来了,查找资料也没找到。特来这里请教。
 
  有一个字段,字符型的。我想将当中值为‘01’  ‘03’  ‘04’的记录筛选出来,有一个函数好像是B打头的吧。想不起来了。请大家给予帮助.谢谢!

回复列表 (共5个回复)

沙发

sql
select * from <Table_Name> where <Field_Name>='01' or <Field_Name>='02'...
vfp
use <Table_Name>
browse for <Field_Name>='01' or <Field_Name>='02'...

板凳

谢谢2楼的朋友,你的这种方法我也想到了,可是一旦加上其他条件后,OR 的用法就不管用了.还请给出我要的函数。谢谢

3 楼

确定一个表达式是否匹配一组表达式中的某个表达式。

 
INLIST(eExpression1, eExpression2 [, eExpression3 ...])
 

参数
eExpression1 
指定 INLIST( ) 要在表达式组中搜索的表达式。 
eExpression2[, eExpression3...] 
指定搜索的表达式组。至少必须包含一个表达式(eExpression2),最多可以包含 25 个表达式(eExpression2、eExpression3 等)。表达式组中的所有表达式必须具有相同的数据类型。 
返回值
逻辑型或 null 值

说明
如果在表达式组中找到了该表达式,INLIST( ) 返回真(.T.);否则,INLIST( ) 返回假(.F.)。如果 eExpression1 是 null 值,则返回 null 值。如果 eExpression1 不是 null 值、eExpression1 没有匹配其他表达式并且其它表达式中至少有一个表达式是 null 值时,也会返回 null 数值。

示例
在这个示例中,INLIST( ) 确定当前月份属于一年中的哪个季度。当前月份被保存到变量 gcMonth 中,每个 CASE 语句利用 INLIST( ) 来确定一连串月份名称中是否能找到 gcMonth 的内容。返回的季度名被保存到变量 gcReporTitle 中。

  复制代码 
SET TALK ON
STORE CMONTH(DATE( )) TO gcMonth
DO CASE
   CASE INLIST(gcMonth,'January','February','March')
      STORE 'First Quarter' TO gcReporTitle
   CASE INLIST(gcMonth,'April','May','June')
      STORE 'Second Quarter' TO gcReporTitle
   CASE INLIST(gcMonth,'July','August','September')
      STORE 'Third Quarter' TO gcReporTitle
   OTHERWISE
      STORE 'Fourth Quarter' TO gcReporTitle
ENDCASE
WAIT WINDOW gcReporTitle
 

请参阅
其他资源
函数
BETWEEN( ) 函数
CASE 语句
DO CASE ... ENDCASE 命令
AT( ) 函数
ATLINE( ) 函数
RAT( ) 函数
RATLINE( ) 函数
$ 操作符
OCCURS( ) 函数

4 楼

是 INLIST( ) 函数吗?

5 楼

谢谢以上朋友,但不是以上方法。我要筛选的数据不仅仅是要某个字段当中的01  02  03,还有其他字段的其他值。在SQL语句里的where 后有好多的条件,我发表的问题仅是其中一个条件。因此需要简捷的语句,就需要我所说的那个函数。

我来回复

您尚未登录,请登录后再回复。点此登录或注册