RosettaCodeData/Task/Determine-if-a-string-is-numeric/DuckDB/determine-if-a-string-is-numeric.duckdb
2025-08-11 18:05:26 -07:00

22 lines
430 B
Text

CREATE OR REPLACE FUNCTION is_valid_number(s) AS
CASE
WHEN s IS NULL THEN false
WHEN try_cast(s AS DOUBLE) IS NOT NULL THEN true
ELSE false
END;
# Illustration
select s, is_valid_number(s) from
(select unnest([
'123.0',
'123.',
'-123',
'3.14159',
'1.2.3',
'abc',
'A440',
' 12 ',
'0A',
'+1E10',
'1E-10'
]) as s);