Tuesday, October 29, 2013

Inserting a string inside string using SQL Server

STUFF()

The STUFF function inserts a string into another string. It deletes a specified length of characters in the first string at the start position and then inserts the second string into the first string at the start position.

Syntax:

STUFF ( character_expression , start , length , replaceWith_expression )

SELECT STUFF('JAINUL KHAN', 7, 0, ' ABDEEN');

Returns:
---------------------
JAINUL ABDEEN KHAN
---------------------

Thursday, October 24, 2013

Calling a function inside a function asynchronously using JQuery

var Test;
$(function () {

    var ServicePath = rootPath + "Services/TestService.asmx/";

    var ajxcalls = function (methodname, param, success, error) {
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            cache: false,
            async: false,
            url: ServicePath + methodname,
            data: param,
            dataType: 'json',
            success: success,
            error: error
        });
    };

    Test = {
        Init: function () {
            Test.TestCheck();
        },
        TestCheck: function () {
            var isActive = false;
            var par = JSON2.stringify({ ParameterValue: value });
            ajxcall("TestIsActive", par, function (data) { isActive = data.d; }, function () { Alert('Error'); });
            Alert(isActive);
        }
    };
    Test.Init();
});


Wednesday, October 9, 2013

SQL Server 2012 FORMAT Function vs. CONVERT Function


One of the most frequently asked questions in SQL Server forums is how to format a datetime value or column into a specific date format. Here's a summary of the different date formats that come standard in SQL Server as part of the CONVERT function and the corresponding syntax using the new SQL Server 2012 FORMAT string function. Following the standard date formats are some extended date formats that are often asked by SQL Server developers, together with the corresponding syntax as well using the new SQL Server 2012 FORMAT string function.

It is worth to note that the outputs of these date formats are of VARCHAR data types already and not of DATETIME data type. With this in mind, any date comparisons performed after the datetime value has been formatted are using the VARCHAR value of the date and time and not its original DATETIME value.

The SQL statements used below to return the different date formats use the SYSDATETIME() date function. The SYSDATETIME() function returns a datetime2(7) value that contains the date and time of the computer on which the instance of SQL Server is running. The SYSDATETIME() function used below can be replaced by the GETDATE() or GETUTCDATE() functions. The results will be the same unless the date format includes the nanosecond portion of the time.



Standard CONVERT Date Formats
Date FormatFORMAT FunctionCONVERT FunctionSample Output
Mon DD YYYY 1
HH:MIAM (or PM)
SELECT FORMAT(SYSDATETIME(), 'Mon d yyyy h:mmtt')SELECT CONVERT(VARCHAR(20), SYSDATETIME(), 100)Jun 8 2011 1:30PM 1
MM/DD/YYSELECT FORMAT(SYSDATETIME(), 'MM/dd/yy') AS [MM/DD/YY]SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 1) AS [MM/DD/YY]06/08/11
MM/DD/YYYYSELECT FORMAT(SYSDATETIME(), 'MM/dd/yyyy') AS [MM/DD/YYYY]SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 101) AS [MM/DD/YYYY]06/08/2011
YY.MM.DDSELECT FORMAT(SYSDATETIME(), 'yy.MM.dd') AS [YY.MM.DD]SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 2) AS [YY.MM.DD]11.06.08
YYYY.MM.DDSELECT FORMAT(SYSDATETIME(), 'yyyy.MM.dd') AS [YYYY.MM.DD]SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 102) AS [YYYY.MM.DD]2011.06.08
DD/MM/YYSELECT FORMAT(SYSDATETIME(), 'dd/MM/yy') AS [DD/MM/YY]SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 3) AS [DD/MM/YY]08/06/11
DD/MM/YYYYSELECT FORMAT(SYSDATETIME(), 'dd/MM/yyyy') AS [DD/MM/YYYY]SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 103) AS [DD/MM/YYYY]08/06/2011
DD.MM.YYSELECT FORMAT(SYSDATETIME(), 'dd.MM.yy') AS [DD.MM.YY]SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 4) AS [DD.MM.YY]08.06.11
DD.MM.YYYYSELECT FORMAT(SYSDATETIME(), 'dd.MM.yyyy') AS [DD.MM.YYYY]SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 104) AS [DD.MM.YYYY]08.06.2011
DD-MM-YYSELECT FORMAT(SYSDATETIME(), 'dd-MM-yy') AS [DD-MM-YY]SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 5) AS [DD-MM-YY]08-06-11
DD-MM-YYYYSELECT FORMAT(SYSDATETIME(), 'dd-MM-yyyy') AS [DD-MM-YYYY]SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 105) AS [DD-MM-YYYY]08-06-2011
DD Mon YY 1SELECT FORMAT(SYSDATETIME(), 'dd MMM yy') AS [DD MON YY]SELECT CONVERT(VARCHAR(9), SYSDATETIME(), 6) AS [DD MON YY]08 Jun 11 1
DD Mon YYYY 1SELECT FORMAT(SYSDATETIME(), 'dd MMM yyyy') AS [DD MON YYYY]SELECT CONVERT(VARCHAR(11), SYSDATETIME(), 106) AS [DD MON YYYY]08 Jun 2011 1
Mon DD, YY 1SELECT FORMAT(SYSDATETIME(), 'MMM dd, yy') AS [Mon DD, YY]SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 7) AS [Mon DD, YY]Jun 08, 11 1
Mon DD, YYYY 1SELECT FORMAT(SYSDATETIME(), 'MMM dd, yyyy') AS [Mon DD, YYYY]SELECT CONVERT(VARCHAR(12), SYSDATETIME(), 107) AS [Mon DD, YYYY]Jun 08, 2011 1
HH:MM:SSSELECT FORMAT(SYSDATETIME(), 'HH:mm:ss')SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 8)
SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 108)
13:30:45
Mon D YYYY H:MI:SS.NNNNNNNAM (or PM)1SELECT FORMAT(SYSDATETIME(), 'MMM d yyyy h:mm:ss.ffffffftt')SELECT CONVERT(VARCHAR(26), SYSDATETIME(), 9)
SELECT CONVERT(VARCHAR(26), SYSDATETIME(), 109)
Jun 8 2011 1:30:45.9428675PM 1
MM-DD-YYSELECT FORMAT(SYSDATETIME(), 'MM-dd-yy') AS [MM-DD-YY]SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 10) AS [MM-DD-YY]06-08-11
MM-DD-YYYYSELECT FORMAT(SYSDATETIME(), 'MM-dd-yyyy') AS [MM-DD-YYYY]SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 110) AS [MM-DD-YYYY]06-08-2011
YY/MM/DDSELECT FORMAT(SYSDATETIME(), 'yy/MM/dd') AS [YY/MM/DD]SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 11) AS [YY/MM/DD]11/06/08
YYYY/MM/DDSELECT FORMAT(SYSDATETIME(), 'yyyy/MM/dd') AS [YYYY/MM/DD]SELECT CONVERT(VARCHAR(10), SYSDATETIME(), 111) AS [YYYY/MM/DD]2011/06/08
YYMMDDSELECT FORMAT(SYSDATETIME(), 'yyMMdd') AS [YYMMDD]SELECT CONVERT(VARCHAR(6), SYSDATETIME(), 12) AS [YYMMDD]110608
YYYYMMDDSELECT FORMAT(SYSDATETIME(), 'yyyyMMdd') AS [YYYYMMDD]SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 112) AS [YYYYMMDD]20110608
DD Mon YYYY HH:MM:SS.NNNNNNN(24h) 1SELECT FORMAT(SYSDATETIME(), 'dd MMM yyyy HH:mm:ss.fffffff')SELECT CONVERT(VARCHAR(30), SYSDATETIME(), 13)
SELECT CONVERT(VARCHAR(30), SYSDATETIME(), 113)
08 Jun 2011 13:30:45.94286751
HH:MI:SS.NNNNNNN(24H)SELECT FORMAT(SYSDATETIME(), 'HH:mm:ss.fffffff') AS [HH:MI:SS:MMM(24H)]SELECT CONVERT(VARCHAR(16), SYSDATETIME(), 14) AS [HH:MI:SS:MMM(24H)]
SELECT CONVERT(VARCHAR(16), SYSDATETIME(), 114) AS [HH:MI:SS:MMM(24H)]
13:30:45.9428675
YYYY-MM-DD HH:MI:SS(24h)SELECT FORMAT(SYSDATETIME(), 'yyyy-MM-dd HH:mm:ss')SELECT CONVERT(VARCHAR(19), SYSDATETIME(), 120)2011-06-08 13:30:45
YYYY-MM-DD HH:MI:SS.NNNNNNN(24h)SELECT FORMAT(SYSDATETIME(), 'yyyy-MM-dd HH:mm:ss.fffffff')SELECT CONVERT(VARCHAR(23), SYSDATETIME(), 121)2011-06-08 13:30:45.9428675
MM/DD/YY HH:MI:SS AMSELECT FORMAT(SYSDATETIME(), 'MM/dd/yy h:mm:ss tt')SELECT CONVERT(VARCHAR(20), SYSDATETIME(), 22)06/08/11 1:30:45 PM
YYYY-MM-DDSELECT FORMAT(SYSDATETIME(), 'yyyy-MM-dd')SELECT CONVERT(VARCHAR(26), SYSDATETIME(), 23)2011-06-091
HH:MI:SS (24h)SELECT FORMAT(SYSDATETIME(), 'HH:mm:ss')SELECT CONVERT(VARCHAR(8), SYSDATETIME(), 24)13:30:45
YYYY-MM-DD HH:MI:SS.NNNNNNNSELECT FORMAT(SYSDATETIME(), 'yyyy-MM-dd HH:mm:ss.fffffff')SELECT CONVERT(VARCHAR(26), SYSDATETIME(), 25)2011-06-08 13:30:45.94286751
YYYY-MM-DDTHH:MM:SS:NNNNNNNSELECT FORMAT(SYSDATETIME(), 'yyyy-MM-ddTHH:mm:ss.fffffff')SELECT CONVERT(VARCHAR(27), SYSDATETIME(), 126)2011-06-08T13:30:45.9428675
DD Mon YYYY HH:MI:SS.NNNNNNNAM 1SELECT FORMAT(SYSDATETIME(), 'dd MMM yyyy h:mm:ss.ffffffftt')SELECT CONVERT(VARCHAR(26), SYSDATETIME(), 130)08 Jun 2011 1:30:45.9428675PM1
DD/MM/YYYY HH:MI:SS.NNNNNNNAMSELECT FORMAT(SYSDATETIME(), 'dd/MM/yyyy h:mm:ss.ffffffftt')SELECT CONVERT(VARCHAR(25), SYSDATETIME(), 131)08/06/2011 1:30:45.9428675PM

Reference: http://pluralsight.com/training/

Tuesday, October 1, 2013

Execute a Stored Procedure Continuously For a Specific Number of Times


I have an Insert Stored Procedure an I want to execute it to 10,00,000 times to put some dummy data in my table, for this I used this….

DECLARE @Counter INT

SET @Counter = 1

WHILE (@Counter <= 1000000)
BEGIN
       EXEC [dbo].[usp_Aspx_SaveValues] 1,8,1,0
       SET @Counter = @Counter + 1
END