Labels

Monday, January 2, 2012

DATE Formats

--  Generator script for all datetime conversions to string

DECLARE  @I INT  = -1
DECLARE  @SQLDynamic NVARCHAR(1024)
CREATE TABLE #SQL (
  StyleID INT,
  SQL     VARCHAR(256),
  Result  VARCHAR(32));

WHILE (@I < 127)
  BEGIN
    SET @I += 1
    IF @I > 14  AND @I < 20       CONTINUE -- unused style number ranges
    IF @I > 25  AND @I < 100      CONTINUE
    IF @I > 114 AND @I < 120      CONTINUE
    IF @I > 121 AND @I < 126      CONTINUE     

    INSERT #SQL   (StyleID,   SQL)
    SELECT @I,'SELECT ' + 'CONVERT(VARCHAR, GETDATE(), '+ CONVERT(VARCHAR,@I)+ ')'

    SET @SQLDynamic = 'UPDATE #SQL SET Result=(SELECT  CONVERT(VARCHAR,
       GETDATE(), ' + CONVERT(VARCHAR,@I) + ')) WHERE StyleID=' + CONVERT(VARCHAR,@I)
    PRINT @SQLDynamic 
    EXEC sp_executeSQL  @SQLDynamic -- Dynamic SQL execution 
  END

SELECT * FROM   #SQL
GO

DROP TABLE #SQL

-- T SQL GENERATOR SCRIPT - while loop - try-catch error control
DECLARE @i int = -1, @string varchar(128)
WHILE ( @i < 150 )
BEGIN
      SET @i+=1
      IF @i in (22, 23, 25, 130) continue; -- exceptions do not work

      BEGIN TRY
        SELECT @string=  'SELECT convert(datetime, '''+
            convert(varchar,getdate(),@i)+''', '+convert(varchar,@i)+')'
        PRINT @string
      END TRY
      BEGIN CATCH
      END CATCH
END -- while
GO

No comments:

Post a Comment