新生活を充実させるための「こだわり」を取材!!

ポストグレスでisnumeric関数のようなものを使いたい
アクセスから移植しているのですが。
つまり値が数値かどうかを判断する関数なんですが。
いいのがありませんか?
どうすれば判別できるでしょうか?

教えて!goo グレード

A 回答 (1件)

PostgreSQLでは、正規表現によるパターンマッチングができますから、それでやってたらどうでしょう



参考URL:http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQ …

この回答への補足

こんな感じで作りましたがどうでしょう?
CREATE OR REPLACE FUNCTION IsNumeric(
varchar(255)
) RETURNS boolean AS '

DECLARE
pstrInParam ALIAS FOR $1;
iinteger;
bNotNumericboolean;
BEGIN
bNotNumeric := False;

IF SUBSTRING(pstrInParam, 1, 1) ~ ''[0-9]'' OR SUBSTRING(pstrInParam, 1, 1) = ''-'' OR SUBSTRING(pstrInParam, 1, 1) = ''+'' THEN
ELSE
RETURN False;
END IF;

FOR i IN 2..Length(pstrInParam) LOOP
IF NOT SUBSTRING(pstrInParam, i, 1) ~ ''[0-9]'' THEN
IF SUBSTRING(pstrInParam, i, 1) <> ''.'' THEN
bNotNumeric := True;
END IF;
END IF;

END LOOP;

RETURN NOT bNotNumeric;
END;
' LANGUAGE 'plpgsql';

補足日時:2005/08/23 12:02
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング