SQL query to find rows that contain only numerical data

1 - How to find nth highest salary in sql 
2 - SQL query to get organization hierarchy 
3 - How does a recursive CTE work 
4 - Delete duplicate rows in SQL 
5 - SQL query to find employees hired in last n months 
6 - Transform rows into columns in sql server 
7 - SQL query to find rows that contain only numerical data 
8 - SQL Query to find department with highest number of employees 
9 - Difference between inner join and left join

Let me explain the scenario mentioned in one of the sql server interview. We have the following table.
sql query to find rows that contain only numerical data
Write a SQL query to retrieve rows that contain only numerical data. The output of the query should be as shown below.
retrieve only integer data from a column in a sql server table

SQL Script to create the TestTable
Create Table TestTable
(
     ID int identity primary key,
     Value nvarchar(50)
)
Insert into TestTable values ('123')
Insert into TestTable values ('ABC')
Insert into TestTable values ('DEF')
Insert into TestTable values ('901')
Insert into TestTable values ('JKL')

This is very easy to achieve. If you have used ISNUMERIC() function in SQL Server, then you already know the answer. Here is the query
Select Value from TestTable Where ISNUMERIC(Value) = 1

ISNUMERIC function returns 1 when the input expression evaluates to a valid numeric data type, otherwise it returns 0. For the list of all valid numeric data types in SQL Server please visit the following MSDN link.
http://technet.microsoft.com/en-us/library/ms186272(v=sql.110).aspx 

0 Comments