【T-SQL】基礎——操做

--刪除表 若是已經存在
USE master
--檢查是否已經存在一個表,若是有就刪除
IF(EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '#Op_Table;'))
    DROP table #Op_Table;
GO

--檢查是否已經存在一個臨時表,若是有就刪除
IF(OBJECT_ID(N'tempdb..#Op_Table')) is not null
    DROP TABLE #Op_Table
GO

----檢查是否已經存在一個臨時表,若是有就刪除
--IF(EXISTS(SELECT * FROM tempdb.dbo.sysobjects WHERE id = object_id(N'tempdb..#Op_Table')))
--    DROP TABLE #Op_Table
--GO

--建立表
CREATE TABLE #Op_Table
(
    ID int identity(1,1) Primary Key,
    DateTime_Loc datetimeoffset(7) null,
    DateTime_UTC datetimeoffset(7) null,
    DateTimeStr nvarchar(23) null,
    DateKey int null
)

INSERT INTO #Op_Table(DateTime_Loc,DateTime_UTC,DateTimeStr,DateKey)
VALUES
    (
        --獲取本地時間 datetimeoffset 類型
        SYSDATETIMEOFFSET(),
        --根據本地時間獲取UTC時間
        SWITCHOFFSET(SYSDATETIMEOFFSET(),'+00:00'),
        --本地時間轉字符串, datetimeoffset-> nvarchar
        CAST(SYSDATETIMEOFFSET() AS nvarchar(23)),
        --獲取時間字符串的一部分 轉成int
        PARSE(
            REPLACE(
                SUBSTRING(CAST(SYSDATETIMEOFFSET() AS nvarchar(23)),0,11),
                '-',
                '')
            AS int
            )
    ),
    (SYSDATETIMEOFFSET(),null,null,null),
    (null,null,null,null)

SELECT *
FROM #Op_Table
--ISNULL操做: 若是列的值爲NULL 則默認爲本地時間
WHERE ISNULL(SWITCHOFFSET(DateTime_Loc,'+00:00'),SYSDATETIMEOFFSET()) = ISNULL(DateTime_UTC,SYSDATETIMEOFFSET())

ide

相關文章
相關標籤/搜索