Tuesday, 20 August 2013

Find Column From All Tables of Database

USE <Database>
GO
SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE '%<Field Name>%'
ORDER BY schema_name, table_name;

Ex:
----
USE DBTest
GO
SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE '%EmployeeID%'
ORDER BY schema_name, table_name; 

--------------------------------------------------------------------------
 table_name  |  schema_name  |  column_name
-------------------------------------------------------------------------
Employee   |   dbo              |     EmployeeID
-------------------------------------------------------------------------

Split FirstName, Middle Name, Last Name use comma

DECLARE @FirstName as nvarchar(max),@LastName as nvarchar(max),@MiddleName as nvarchar(max),@FullName as nvarchar(max)

Set @FullName= 'Ram,Kumar,Siva'

Set @FirstName =(select SUBSTRING(@FullName,1,(CHARINDEX(',',@FullName,1)-1)))

Set @LastName=(select reverse(SUBSTRING(reverse(@FullName),1,(CHARINDEX(',',reverse(@FullName),1)-1))) )


Set @MiddleName= (SELECT SUBSTRING(@FullName,LEN(SUBSTRING(@FullName,1,(CHARINDEX(',',@FullName,1)-1)))+2,(CHARINDEX(',',@FullName,LEN(SUBSTRING(@FullName,1,(CHARINDEX(',',@FullName,1)-1)))+2)) - (LEN(SUBSTRING(@FullName,1,(CHARINDEX(',',@FullName,1)-1)))+2)))



Print @FirstName
Print @LastName
Print @MiddleNam