psqlで文字列が小数かどうか判定する方法
psql では、正規表現を使って文字列が小数かどうか判断できます。次のようにします。
SELECT '12.34' ~ '^[-+]?[0-9]*\.?[0-9]+$' AS is_decimal; -- 返回true
SELECT 'abc' ~ '^[-+]?[0-9]*\.?[0-9]+$' AS is_decimal; -- 返回false
この例では、`~`演算子は正規表現にマッチするために使用されます。正規表現`^[-+]?[0-9]*\.?[0-9]+$`は、オプションの正または負の符号、ゼロ個以上の数字文字、オプションの小数点、ゼロ個以上の数字文字にマッチします。文字列が正規表現にマッチする場合、その文字列は小数であることを表します。