Thursday, 25 May 2017

Quickly Idenitfy Most Recently Changed/Modified Stored Procedure In Sql Server

SELECT  NAME ,
        MODIFY_DATE ,
        CREATE_DATE
FROM    SYS.OBJECTS
WHERE   TYPE = 'P'
        AND DATEDIFF(D, MODIFY_DATE, GETDATE()) < 7
ORDER BY MODIFY_DATE DESC;

Simplest Example Of The SQL Server Cursor

DECLARE @FIRST_ID varchar(100);
DECLARE @GET_FIRST_ID CURSOR;

SET @GET_FIRST_ID = CURSOR
FOR
SELECT  COLUMNAME FROM DBO.TABLENAME;

OPEN @GET_FIRST_ID;
FETCH NEXT FROM @GET_FIRST_ID 

INTO @FIRST_ID;

WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @FIRST_ID;
FETCH NEXT FROM @GET_FIRST_ID INTO @FIRST_ID;
END;

CLOSE @GET_FIRST_ID;
DEALLOCATE @GET_FIRST_ID;

SQL Function To Split String Using Split (Comma Separated String )

CREATE FUNCTION dbo.Fn_Split
    (
      @INPUT VARCHAR(MAX) ,
      @SEPARATOR NVARCHAR(5)
    )
RETURNS @ReturnTabValue TABLE
    (
      Value NVARCHAR(MAX)
    )
AS
    BEGIN
        WHILE ( CHARINDEX(@SEPARATOR, @INPUT) > 0 )
        BEGIN
INSERT INTO @ReturnTabValue( Value)
            SELECT  Value = LTRIM(RTRIM(SUBSTRING(@INPUT, 1,CHARINDEX(@SEPARATOR,@INPUT) - 1)));

            SET @INPUT = SUBSTRING(@INPUT,CHARINDEX(@SEPARATOR, @INPUT)+ LEN(@SEPARATOR), LEN(@INPUT));
        END

        INSERT  INTO @ReturnTabValue( Value )
             SELECT  Value = LTRIM(RTRIM(@INPUT));
        
DELETE  FROM @ReturnTabValue WHERE   ISNULL(Value, '') = ''
        RETURN
    END
GO


Remove Non Alphabetic Characters From String In Sql Server

CREATE FUNCTION [dbo].[RemoveNonAlphabeticChar] 
( @INPUT VARCHAR(4000) )
RETURNS VARCHAR(4000)
AS
    BEGIN

        DECLARE @AlphabetsChar AS VARCHAR(100)
        SET @AlphabetsChar = '%[^a-z ]%'
        WHILE PATINDEX(@AlphabetsChar, @INPUT) > 0
            
SET @INPUT = STUFF(@INPUT, PATINDEX(@AlphabetsChar, @INPUT), 1, '')

        RETURN @INPUT
END


Wednesday, 24 May 2017

Delete All View In SQL Server

DECLARE @VIEWNAME VARCHAR(1000); 

DECLARE curs CURSOR
FOR
    SELECT  [name]
    FROM    sys.objects
    WHERE   TYPE = 'V'; 

OPEN curs; 
FETCH NEXT FROM curs INTO @VIEWNAME; 
WHILE @@fetch_status = 0
    BEGIN 
        EXEC('DROP VIEW ' + @VIEWNAME); 
        PRINT 'DELETED VIEW -> ' + @VIEWNAME;
        FETCH NEXT  FROM curs INTO @VIEWNAME;
    END; 
CLOSE curs; 
DEALLOCATE curs;

Get File Name From File Path In SQL

DECLARE @FILEPATH VARCHAR(1000)

SET @FILEPATH = 'E:\p\New\Folder\FolderSub\My.FileExtension'

SELECT RIGHT(@FILEPATH, Charindex('\', Reverse(@FILEPATH)) - 1) 

Tuesday, 23 May 2017

Check Given Date Is Weekend Or Not In Sql

DECLARE @DT DATETIME;

SET @DT = Getdate();

SELECT CONVERT(VARCHAR(30), @DT)
       + ' : DateName -  '
       + CONVERT(VARCHAR(10), Datename(dw, @DT))
       + ' : Date In Number  -  '
       + CONVERT(VARCHAR(10), Datepart(dw, @DT)); 

Wednesday, 17 May 2017

Move One DataBase To New Drive

USE DatabaseName;
GO
ALTER DATABASE DatabaseName MODIFY FILE
(
NAME = DatabaseName_Mdf, FILENAME = 'd:\DatabaseName_Mdf.mdf'
)
GO

ALTER DATABASE tempdb MODIFY FILE
(
NAME = DatabaseName_Log, FILENAME = 'e:\DatabaseName_Log.ldf'
)
GO

Get Logical File Name Of Database

USE DatabaseName
GO
EXEC sp_helpfile
GO

What is the Initial Size of Temp Db ?

SELECT  NAME ,
        SIZE * 8.0 / 1024 'Current Size In MB'
FROM    tempdb.sys.database_files;

SELECT  NAME ,
        SIZE * 8.0 / 1024 'Initial Size in MB'
FROM    master.sys.sysaltfiles
WHERE   dbid = 2;  

Sunday, 7 May 2017

Return Output Parameter From Stored Procedure

CREATE PROCEDURE [dbo].[USP_FindName]
      @ID INT,
      @NAME VARCHAR(30) OUTPUT
AS
BEGIN
      SET NOCOUNT ON;
     
      SELECT @NAME = NAME FROM dbo.TABLENAME
      WHERE ID = @ID
END