Miracle Scripts
DECLARE @name VARCHAR(50) -- database name
To get the user Session count in SQL Server:
SELECT dec.client_net_address ,
des.program_name ,
des.host_name ,
--des.login_name ,
COUNT(dec.session_id) AS connection_count
FROM sys.dm_exec_sessions AS des
INNER JOIN sys.dm_exec_connections AS dec
ON des.session_id = dec.session_id
GROUP BY dec.client_net_address ,
des.program_name ,
des.host_name
-- des.login_name
-- HAVING COUNT(dec.session_id) > 1
ORDER BY des.program_name,
dec.client_net_address ;
To get the All Stored procedures name from table name used:
----Method 1
EXEC SearchAllTables 'search string''
To remove the <img HTML tag from the string using this function:
Alter FUNCTION [dbo].[udf_StripHTMLIMAGE]
In response to a request for a script to show all of the objects on a server onwed by a Login. I didn't know of any tool built-in to do this, so I wrote the following proc (SQL Server 2005 only).
Note the following featues also:
You could write a SQL Server 2000 version of this also, but it would be significantly different, because of the large changes in the Schema/Owner security model, though probably simpler.
CREATE Proc spLogin_OwnedObjects ( @Login as SYSNAME ) As
/*
Display all objects in all DBs owned by the Login.
2008-07-06 RBarryYoung Created.
2008-08-28 RBarryYoung Added corrections for DBs with different Collations
(note that ReportingDBs have different Collations)
Test:
EXEC spLogin_OwnedObjects 'sa'
*/
declare @sql varchar(MAX), @DB_Objects varchar(MAX)
Select @DB_Objects = ' L.name COLLATE DATABASE_DEFAULT as Login, U.Name COLLATE DATABASE_DEFAULT as [User]
, o.name COLLATE DATABASE_DEFAULT as [name]
, o.object_id
, o.principal_id
, o.schema_id
, o.parent_object_id
, o.type COLLATE DATABASE_DEFAULT as [type]
, o.type_desc COLLATE DATABASE_DEFAULT as [type_desc]
, o.create_date
, o.modify_date
, o.is_ms_shipped
, o.is_published
, o.is_schema_published
From %D%.sys.objects o
Join %D%.sys.database_principals u
ON Coalesce(o.principal_id
, (Select S.Principal_ID from %D%.sys.schemas S Where S.Schema_ID = O.schema_id))
= U.principal_id
Left Join %D%.sys.server_principals L on L.sid = u.sid
'
Select @sql = 'SELECT * FROM
(Select '+Cast(database_id as varchar(9))+' as DBID, ''master'' as DBName, '
+ Replace(@DB_objects, '%D%', [name])
From master.sys.databases
Where [name] = 'master'
Select @sql = @sql + 'UNION ALL Select '+Cast(database_id as varchar(9))+', '''+[name]+''', '
+ Replace(@DB_objects, '%D%', [name])
From master.sys.databases
Where [name] != 'master'
Select @sql = @sql + ') oo Where Login = ''' + @Login + ''''
print @sql
EXEC (@sql)
----------To find specific data in table include columns and table and value--------------
DECLARE @tableName varchar(250)
DECLARE @numericColumns varchar(max)
DECLARE @searchValue int
DECLARE @sql varchar(max)
SELECT @tableName='EmployeeRecord' --modify this to the target table's name
SELECT @searchValue=7499 --modify this to specify the value you're searching for.
SELECT @numericColumns = ISNULL(@numericColumns, '') + ' OR ' + QUOTENAME(COLUMN_NAME) + '=' +
CAST(@searchValue AS varchar(10))
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME=@tableName
AND DATA_TYPE IN ('int') --you can modify this to look at other columns besides INT
SELECT @numericColumns = STUFF(@numericColumns, 1, 4, '')
SELECT @sql = 'SELECT * FROM ' + QUOTENAME(@tableName) + ' WHERE ' + @numericColumns
SELECT @sql AS sqlStatement
EXEC(@sql)
Output:
To Simple script to backup all SQL Server databases
DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name SET @path = 'C:\Backup\' SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)
DECLARE db_cursor CURSOR FOR
SELECT name
FROM MASTER.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb')
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName
FETCH NEXT FROM db_cursor INTO @name END
CLOSE db_cursor
DEALLOCATE db_cursorTo get the user Session count in SQL Server:
SELECT dec.client_net_address ,
des.program_name ,
des.host_name ,
--des.login_name ,
COUNT(dec.session_id) AS connection_count
FROM sys.dm_exec_sessions AS des
INNER JOIN sys.dm_exec_connections AS dec
ON des.session_id = dec.session_id
GROUP BY dec.client_net_address ,
des.program_name ,
des.host_name
-- des.login_name
-- HAVING COUNT(dec.session_id) > 1
ORDER BY des.program_name,
dec.client_net_address ;
To get the All Stored procedures name from table name used:
SELECT DISTINCT so.name
FROM syscomments sc
INNER JOIN sysobjects so ON sc.id=so.id
WHERE sc.TEXT LIKE '%tablename%'
To get the All Stored procedures name from column name used:
----Method 1
SELECT obj.Name SPName, sc.TEXT SPTextFROM sys.syscomments scINNER JOIN sys.objects obj ON sc.Id = obj.OBJECT_IDWHERE sc.TEXT LIKE '%' + 'columnname' + '%'AND TYPE = 'P'-------------for stored procedures--AND TYPE = 'TR'------------for triggers
----Method 2SELECTObject_Name(Object_Id)FROMsys.sql_modulesWHEREdefinition LIKE '%columnname%'AND definition LIKE '% Procedure %'
To find the references of the Object name:
----Method 1SELECT DISTINCT o.name AS ObjectName,CASE o.xtypeWHEN 'C' THEN 'CHECK constraint'WHEN 'D' THEN 'Default or DEFAULT constraint'WHEN 'F' THEN 'FOREIGN KEY constraint'WHEN 'FN' THEN 'Scalar function'WHEN 'IF' THEN 'In-lined table-function'WHEN 'K' THEN 'PRIMARY KEY or UNIQUE constraint'WHEN 'L' THEN 'Log'WHEN 'P' THEN 'Stored procedure'WHEN 'R' THEN 'Rule'WHEN 'RF' THEN 'Replication filter stored procedure'WHEN 'S' THEN 'System table'WHEN 'TF' THEN 'Table function'WHEN 'TR' THEN 'Trigger'WHEN 'U' THEN 'User table'WHEN 'V' THEN 'View'WHEN 'X' THEN 'Extended stored procedure'ELSE o.xtypeEND AS ObjectType,ISNULL( p.Name, 'Location') AS LocationFROM syscomments cINNER JOIN sysobjects o ON c.id=o.idLEFT JOIN sysobjects p ON o.Parent_obj=p.idWHERE c.text LIKE '%objectname%'----------------like tablename,columnname etcORDER BY Location, ObjectName
----Method 2sp_depends 'dbo.objectname'
To get the Tablename from column value in a table:
EXEC SearchAllTables 'search string''
CREATE PROC SearchAllTables( @SearchStr nvarchar(100))ASBEGIN
CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))
SET NOCOUNT ON
DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110) SET @TableName = '' SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')
WHILE @TableName IS NOT NULL BEGIN SET @ColumnName = '' SET @TableName = ( SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName AND OBJECTPROPERTY( OBJECT_ID( QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) ), 'IsMSShipped' ) = 0 )
WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL) BEGIN SET @ColumnName = ( SELECT MIN(QUOTENAME(COLUMN_NAME)) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2) AND TABLE_NAME = PARSENAME(@TableName, 1) AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar') AND QUOTENAME(COLUMN_NAME) > @ColumnName ) IF @ColumnName IS NOT NULL BEGIN INSERT INTO #Results EXEC ( 'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) FROM ' + @TableName + ' (NOLOCK) ' + ' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2 ) END END END
SELECT ColumnName, ColumnValue FROM #ResultsEND
To remove the HTML tag from the string using this function:
ALTER FUNCTION [dbo].[udf_StripHTML]
(@HTMLText varchar(MAX))RETURNS varchar(MAX)ASBEGINDECLARE @Start intDECLARE @End intDECLARE @Length int
-- Replace the HTML entity & with the '&' character (this needs to be done first, as-- '&' might be double encoded as '&amp;')SET @Start = CHARINDEX('&', @HTMLText)SET @End = @Start + 4SET @Length = (@End - @Start) + 1
WHILE (@Start > 0 AND @End > 0 AND @Length > 0) BEGINSET @HTMLText = STUFF(@HTMLText, @Start, @Length, '&')SET @Start = CHARINDEX('&', @HTMLText)SET @End = @Start + 4SET @Length = (@End - @Start) + 1END
-- Replace the HTML entity < with the '<' characterSET @Start = CHARINDEX('<', @HTMLText)SET @End = @Start + 3SET @Length = (@End - @Start) + 1
WHILE (@Start > 0 AND @End > 0 AND @Length > 0) BEGINSET @HTMLText = STUFF(@HTMLText, @Start, @Length, '<')SET @Start = CHARINDEX('<', @HTMLText)SET @End = @Start + 3SET @Length = (@End - @Start) + 1END
-- Replace the HTML entity > with the '>' characterSET @Start = CHARINDEX('>', @HTMLText)SET @End = @Start + 3SET @Length = (@End - @Start) + 1
WHILE (@Start > 0 AND @End > 0 AND @Length > 0) BEGINSET @HTMLText = STUFF(@HTMLText, @Start, @Length, '>')SET @Start = CHARINDEX('>', @HTMLText)SET @End = @Start + 3SET @Length = (@End - @Start) + 1END
-- Replace the HTML entity & with the '&' characterSET @Start = CHARINDEX('&amp;', @HTMLText)SET @End = @Start + 4SET @Length = (@End - @Start) + 1
WHILE (@Start > 0 AND @End > 0 AND @Length > 0) BEGINSET @HTMLText = STUFF(@HTMLText, @Start, @Length, '&')SET @Start = CHARINDEX('&amp;', @HTMLText)SET @End = @Start + 4SET @Length = (@End - @Start) + 1END
-- Replace the HTML entity with the ' ' characterSET @Start = CHARINDEX(' ', @HTMLText)SET @End = @Start + 5SET @Length = (@End - @Start) + 1
WHILE (@Start > 0 AND @End > 0 AND @Length > 0) BEGINSET @HTMLText = STUFF(@HTMLText, @Start, @Length, ' ')SET @Start = CHARINDEX(' ', @HTMLText)SET @End = @Start + 5SET @Length = (@End - @Start) + 1END
-- Replace any <br> tags with a newlineSET @Start = CHARINDEX('<br>', @HTMLText)SET @End = @Start + 3SET @Length = (@End - @Start) + 1
WHILE (@Start > 0 AND @End > 0 AND @Length > 0) BEGINSET @HTMLText = STUFF(@HTMLText, @Start, @Length, CHAR(13) + CHAR(10))SET @Start = CHARINDEX('<br>', @HTMLText)SET @End = @Start + 3SET @Length = (@End - @Start) + 1END
-- Replace any <br/> tags with a newlineSET @Start = CHARINDEX('<br/>', @HTMLText)SET @End = @Start + 4SET @Length = (@End - @Start) + 1
WHILE (@Start > 0 AND @End > 0 AND @Length > 0) BEGINSET @HTMLText = STUFF(@HTMLText, @Start, @Length, 'CHAR(13) + CHAR(10)')SET @Start = CHARINDEX('<br/>', @HTMLText)SET @End = @Start + 4SET @Length = (@End - @Start) + 1END
-- Replace any <br /> tags with a newlineSET @Start = CHARINDEX('<br />', @HTMLText)SET @End = @Start + 5SET @Length = (@End - @Start) + 1
WHILE (@Start > 0 AND @End > 0 AND @Length > 0) BEGINSET @HTMLText = STUFF(@HTMLText, @Start, @Length, 'CHAR(13) + CHAR(10)')SET @Start = CHARINDEX('<br />', @HTMLText)SET @End = @Start + 5SET @Length = (@End - @Start) + 1END
-- Remove anything between <whatever> tagsSET @Start = CHARINDEX('<', @HTMLText)SET @End = CHARINDEX('>', @HTMLText, CHARINDEX('<', @HTMLText))SET @Length = (@End - @Start) + 1
WHILE (@Start > 0 AND @End > 0 AND @Length > 0) BEGINSET @HTMLText = STUFF(@HTMLText, @Start, @Length, '')SET @Start = CHARINDEX('<', @HTMLText)SET @End = CHARINDEX('>', @HTMLText, CHARINDEX('<', @HTMLText))SET @Length = (@End - @Start) + 1END
RETURN LTRIM(RTRIM(@HTMLText))
ENDTo remove the <img HTML tag from the string using this function:
Alter FUNCTION [dbo].[udf_StripHTMLIMAGE]
(@HTMLText varchar(MAX))RETURNS varchar(MAX)ASBEGINDECLARE @Start intDECLARE @End intDECLARE @Length int
-- Remove anything between <whatever> tagsSET @Start = CHARINDEX('<img', @HTMLText)SET @End = CHARINDEX('>', @HTMLText, CHARINDEX('<img', @HTMLText))SET @Length = (@End - @Start) + 1
WHILE (@Start > 0 AND @End > 0 AND @Length > 0) BEGINSET @HTMLText = STUFF(@HTMLText, @Start, @Length, '')SET @Start = CHARINDEX('<img', @HTMLText)SET @End = CHARINDEX('>', @HTMLText, CHARINDEX('<img', @HTMLText))SET @Length = (@End - @Start) + 1END
RETURN LTRIM(RTRIM(@HTMLText))
END
To Find Nth Highest salary from employee:
Select * from ( select Row_number() over ( order by salary desc ) as Row_INDEX , * From employees ) as Temp where Row_INDEX = 2
To See tablename and its Row count:
SELECT [TableName] = so.name, [RowCount] = MAX(si.rows) FROM sysobjects so, sysindexes si WHERE so.xtype = 'U' AND si.id = OBJECT_ID(so.name) GROUP BY so.name --having MAX(si.rows)=0--ORDER BY -- so.name--compute sum(MAX(si.rows))
To See identity tablename from the database:
select distinct TABLE_NAMEfrom INFORMATION_SCHEMA.COLUMNSwhere TABLE_SCHEMA = 'dbo'and COLUMNPROPERTY(object_id(TABLE_NAME), COLUMN_NAME, 'IsIdentity')=1order by TABLE_NAMEFind all objects in Server Owned by a Login:
In response to a request for a script to show all of the objects on a server onwed by a Login. I didn't know of any tool built-in to do this, so I wrote the following proc (SQL Server 2005 only).
Note the following featues also:
- No cursors or other Loops (but total number of databases is limitedt to 255).
- If the DB User for a Login is the explicit Owner for an object, then that will be reported.
- If there is no explicit owner for an object, then the Login of the DB User that owns the schema containing the object will be returned as the owner.
- If there is no explicit owner for an object and the object is contained in the [dbo] schema, then the Login that owns the database will be returned as the object's owner (this is the correct method of assesing object ownership in SQL server 2005).
You could write a SQL Server 2000 version of this also, but it would be significantly different, because of the large changes in the Schema/Owner security model, though probably simpler.
CREATE Proc spLogin_OwnedObjects ( @Login as SYSNAME ) As
/*
Display all objects in all DBs owned by the Login.
2008-07-06 RBarryYoung Created.
2008-08-28 RBarryYoung Added corrections for DBs with different Collations
(note that ReportingDBs have different Collations)
Test:
EXEC spLogin_OwnedObjects 'sa'
*/
declare @sql varchar(MAX), @DB_Objects varchar(MAX)
Select @DB_Objects = ' L.name COLLATE DATABASE_DEFAULT as Login, U.Name COLLATE DATABASE_DEFAULT as [User]
, o.name COLLATE DATABASE_DEFAULT as [name]
, o.object_id
, o.principal_id
, o.schema_id
, o.parent_object_id
, o.type COLLATE DATABASE_DEFAULT as [type]
, o.type_desc COLLATE DATABASE_DEFAULT as [type_desc]
, o.create_date
, o.modify_date
, o.is_ms_shipped
, o.is_published
, o.is_schema_published
From %D%.sys.objects o
Join %D%.sys.database_principals u
ON Coalesce(o.principal_id
, (Select S.Principal_ID from %D%.sys.schemas S Where S.Schema_ID = O.schema_id))
= U.principal_id
Left Join %D%.sys.server_principals L on L.sid = u.sid
'
Select @sql = 'SELECT * FROM
(Select '+Cast(database_id as varchar(9))+' as DBID, ''master'' as DBName, '
+ Replace(@DB_objects, '%D%', [name])
From master.sys.databases
Where [name] = 'master'
Select @sql = @sql + 'UNION ALL Select '+Cast(database_id as varchar(9))+', '''+[name]+''', '
+ Replace(@DB_objects, '%D%', [name])
From master.sys.databases
Where [name] != 'master'
Select @sql = @sql + ') oo Where Login = ''' + @Login + ''''
print @sql
EXEC (@sql)
----------To find specific data in table include columns and table and value--------------
DECLARE @tableName varchar(250)
DECLARE @numericColumns varchar(max)
DECLARE @searchValue int
DECLARE @sql varchar(max)
SELECT @tableName='EmployeeRecord' --modify this to the target table's name
SELECT @searchValue=7499 --modify this to specify the value you're searching for.
SELECT @numericColumns = ISNULL(@numericColumns, '') + ' OR ' + QUOTENAME(COLUMN_NAME) + '=' +
CAST(@searchValue AS varchar(10))
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME=@tableName
AND DATA_TYPE IN ('int') --you can modify this to look at other columns besides INT
SELECT @numericColumns = STUFF(@numericColumns, 1, 4, '')
SELECT @sql = 'SELECT * FROM ' + QUOTENAME(@tableName) + ' WHERE ' + @numericColumns
SELECT @sql AS sqlStatement
EXEC(@sql)
Output:
---------------split the string whatever your requirement----------------
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[StringSplitter]') AND type in
(N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[StringSplitter]
GO
CREATE FUNCTION [dbo].[StringSplitter](@str varchar(8000), @delimiter char(1))
RETURNS TABLE AS
RETURN
SELECT
ItemNumber = ROW_NUMBER() OVER(ORDER BY(SELECT 1))
,Items = Split.a.value('.', 'VARCHAR(100)')
FROM
(
SELECT
CAST('<X>' + REPLACE(@str, @delimiter , '</X><X>') + '</X>' AS XML) AS
Splitdata
) X
CROSS APPLY Splitdata.nodes('/X') Split(a)
--output:
--select * from dbo.[StringSplitter]('ashok string2 string3,string4','3')-it will split 2 segment one is
before of value 3 and second is after 3
--so output would be itemno items
1 ashok string2 string
2 ,string4
---To Find Privileged Users in a MS SQL Server--
select a.name as LoginName, a.type_desc as LoginType, a.default_database_name as DefaultDBName, case when b.sysadmin = 1 THEN 'sysadmin' when b.securityadmin=1 THEN 'securityadmin' when b.serveradmin=1 THEN 'serveradmin' when b.setupadmin=1 THEN 'setupadmin' when b.processadmin=1 THEN 'processadmin' when b.diskadmin=1 THEN 'diskadmin' when b.dbcreator=1 THEN 'dbcreator' when b.bulkadmin=1 THEN 'bulkadmin' else 'Public' end as ServerRole from sys.server_principals a join master..syslogins b on a.sid=b.sid where a.type <> 'R' and a.name not like '##%'--------To see the Local Tcp Port--------
select distinct local_net_address, local_tcp_port
from sys.dm_exec_connections
where net_transport = 'TCP'------------------------------------------------------ Linked Server Test:--EXEC sp_addlinkedserver 'SEATTLESales','SQL Server' ---------To add the linked server list
select * from sys.servers---------To see the linked server list
exec sp_linkedservers---------To see the linked server list
1)exec sp_testlinkedserver linkserverame----------To test the linked server connectivity
2)sp_tables_ex linkservername----------To test the linked server connectivity
3)SELECT name FROM [SHAREPOINTDEV2].master.sys.databases-------To see the linked server databases
4)----------To test the linked server connectivity using script-------------
declare @srvr nvarchar(128), @retval int;
set @srvr = 'linkedservername';
begin try
exec @retval = sys.sp_testlinkedserver @srvr;
end try
begin catch
set @retval = sign(@@error);
end catch;
if @retval <> 0
raiserror('Unable to connect to server. This operation will be tried later!', 16, 2 );
5)Other Method:
-- CREATE PROC procPingLinkedServer @LinkedServer sysname
--/* RETURNS
-- 1 --> Connection success
-- 0 --> Connection failure
--*/
--AS
--BEGIN
--DECLARE @Command nvarchar(1048)
--SET NOCOUNT ON;
--CREATE TABLE #PingTest ( CmdResultBuffer varchar(128));
--SET @Command = 'ping '+ @LinkedServer
--PRINT @Command
--INSERT #PingTest
-- EXEC master..xp_cmdshell @Command;
--
--IF EXISTS ( SELECT 1 FROM #PingTest WHERE CmdResultBuffer LIKE '%TTL%' )
---- RETURN 1;
----ELSE
---- RETURN 0;
--
--
--drop table #PingTest
--END
--GO
--
---- Test linked server connectivity
--DECLARE @Connection int
--EXEC @Connection = procPingLinkedServer 'SHAREPOINTDEV2'
--SELECT ConnectionStatus = @Connection
6)---check linked server logins-------
SELECT s.name,data_source,provider,
is_remote_login_enabled,is_rpc_out_enabled,
is_data_access_enabled,uses_self_credential,
remote_name
FROM sys.servers s INNER JOIN
sys.linked_logins ll on s.server_id=ll.server_id
WHERE s.server_id != 0
7)--------------Check linked server login and local------------
SELECT local.name AS LocalLogins, linked.name AS LinkedLogins
FROM master.sys.server_principals AS local
LEFT JOIN [sbsdev].master.sys.server_principals AS linked
ON local.name = linked.name ;8)Query to Return range of records:
Problem:
How to get top 10 records then records from 11-20 then 21-30
The scenario is like, if the index from front end is given, then it should return records accordingly,
Index rows
1 1-10
2 11-20
3 21-30
Solution:
declare @index int
set @index=2
;with cte
as
(select *, ROW_NUMBER() over(order by BusinessEntityId )as row_num fromHumanResources.Employee
)
In the above solution, I have applied this on table ‘HumanResources.Employee’ of AdventureWorks2008 database. It returns records for index 2 thus returns records from 11-20
We can make this solution generic,
select *, ROW_NUMBER() over(order by [Column_NameForOrderBy] )as row_num from[Table_Name]
T-SQL Split Function : Split Field By a Delimiter
Ref:
http://www.rad.pasfu.com/index.php?/archives/56-T-SQL-Split-Function-Split-Field-By-a-Delimiter.html#extended
T-SQL Script: Find Keyword in whole Database
Ref:
http://www.rad.pasfu.com/index.php?/archives/65-T-SQL-Script-Find-Keyword-in-whole-Database.html#extended
To Replace Single space with Double Space:
declare @text varchar(max)
set @text=' St Charles'
while charindex(' ',@text)>0
set @text=replace(@text,' ',' ')
select @text
O/P:
St Charles
declare @text varchar(max)
set @text=' St Charles'
while charindex(' ',@text)>0
set @text=replace(@text,' ',' ')
select @text
O/P:
St Charles

No comments:
Post a Comment