SQL Server - ISNUMERIC

ISNUMERIC - Determines whether an expression is a valid numeric type .
Returns 1 if it is a valid numeric type else 0 .


--Valid Scenarios (ISNUMERIC returns 1)

--valid numbers
SELECT ISNUMERIC(12345) 

--valid numbers inside quotes
SELECT ISNUMERIC('12345') 

--valid numbers with comma separated
SELECT ISNUMERIC('1,23,456') 

--decimal type
SELECT ISNUMERIC(12345.) 

--decimal type
SELECT ISNUMERIC(123.45)

--decimal type 
SELECT ISNUMERIC(.12345) 

--decimal type
SELECT ISNUMERIC('.') 






--plus and minus symbols are allowed in the beginning
SELECT ISNUMERIC('+') 

--plus and minus symbols are allowed in the beginning
SELECT ISNUMERIC(+12345) 

--plus and minus symbols are allowed in the beginning
SELECT ISNUMERIC(-12345) 

--money symbols are allowed in the beginning
SELECT ISNUMERIC('$') 

--money symbols are allowed in the beginning
SELECT ISNUMERIC($12345) 

--Exponential function
SELECT ISNUMERIC(123E2) 

--Exponential function
SELECT ISNUMERIC(123e-2) 



--Invalid Scenarios (ISNUMERIC returns 0)




--dots are allowed to represent decimal & float type(multiple dots are not allowed)
SELECT ISNUMERIC('12.3.45') 

--symbols are allowed only in the beginning
SELECT ISNUMERIC('12345$') 

--symbols are allowed only in the beginning
SELECT ISNUMERIC('12345+') 

-- Other symbols are not allowed except +,- and money symbols
SELECT ISNUMERIC('*12345') 

--Invalid exponential function
SELECT ISNUMERIC('1232E') 

--Invalid exponential function
SELECT ISNUMERIC('12E3E2') 

--Invalid exponential function
SELECT ISNUMERIC('E1232') 

--Obviously alphabets are not allowed 
SELECT ISNUMERIC('A1232')

Reference links :


No comments: