Sample code for 30+ languages & platforms
SQL Server

DateTime - Add or Subtract Seconds

Demonstrates the AddSeconds method to add or subtract a number of seconds from a date/time.

Note: This example is only valid in Chilkat v9.5.0.65 or later.

Chilkat SQL Server Downloads

SQL Server
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    -- Important: Do not use nvarchar(max).  See the warning about using nvarchar(max).
    DECLARE @sTmp0 nvarchar(4000)
    DECLARE @dateTime int
    EXEC @hr = sp_OACreate 'Chilkat.CkDateTime', @dateTime OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    DECLARE @success int
    EXEC sp_OAMethod @dateTime, 'SetFromCurrentSystemTime', @success OUT


    EXEC sp_OAMethod @dateTime, 'GetAsTimestamp', @sTmp0 OUT, 0
    PRINT 'Current time: ' + @sTmp0

    EXEC sp_OAMethod @dateTime, 'AddSeconds', @success OUT, 1

    EXEC sp_OAMethod @dateTime, 'GetAsTimestamp', @sTmp0 OUT, 0
    PRINT 'Current time + 1 second: ' + @sTmp0

    EXEC sp_OAMethod @dateTime, 'AddSeconds', @success OUT, -2

    EXEC sp_OAMethod @dateTime, 'GetAsTimestamp', @sTmp0 OUT, 0
    PRINT 'Current time - 1 second: ' + @sTmp0

    -- Add 30 days (60 * 60 * 24 * 30)
    EXEC sp_OAMethod @dateTime, 'AddSeconds', @success OUT, 60 * 60 * 24 * 30

    EXEC sp_OAMethod @dateTime, 'GetAsTimestamp', @sTmp0 OUT, 0
    PRINT 'Current time + 30 days: ' + @sTmp0

    -- Sample output for test run on 2-Dec-2016: 

    -- 	Current time: 2016-12-02T12:59:13Z
    -- 	Current time + 1 second: 2016-12-02T12:59:14Z
    -- 	Current time - 1 second: 2016-12-02T12:59:12Z
    -- 	Current time + 30 days: 2017-01-01T12:59:12Z

    EXEC @hr = sp_OADestroy @dateTime


END
GO