检查select中的字段是否为整数

时间:2015-10-15 08:32:23

标签: firebird firebird2.1

我试图确定字段的内容是否为整数值。

在firebird 2.5中有"类似于",但这在2.1中还没有。

2 个答案:

答案 0 :(得分:0)

感谢您的回答。

现在我会选择:

substring(fieldname from 1 for 1) > '0' and 
substring(fieldname from 1 for 1) < '9' 

答案 1 :(得分:0)

此过程使用错误处理,如果内容为整数则返回字段值,否则返回0

SET TERM ^ ;

create or alter procedure INT_CHECK (
    IN_STR varchar(100))
returns (
    ORESULT integer)
as
BEGIN
  /* because WHEN works for the entire block use a separate BEGIN..END*/
  begin  -- START OF BLOCK
  oresult = cast(:in_str as integer);
  when any do
      begin
        oresult = 0;
      end
  end    -- END OF BLOCK
  suspend;
END^

SET TERM ; ^