B3.png

 

[格式變換]

※ Oracle 可以使用TO_CHAR( )函數、TO_NUMBER( )函數

※ SQL Server 可以使用CONVERT( )函數、CAST( )函數

※ 數字轉字串

    SQL Server - CONVERT (CHAR , number) | CAST (number AS CHAR)

    Oracle - TO_CHAR (number)

※ 字串轉數字

    SQL Server - CONVERT (NUMERIC , string) | CAST (string AS NUMERIC)

    Oracle - TO_NUMBER (string)

※ 字串轉日期

    SQL Server - CONVERT (DATETIME , string) | CAST (string AS DATETIME)

    Oracle - TO_DATE (string)

 

以字串輸出現在的年月日時分秒

   SQL Server

   SELECT CONVERT(CHAR(20) , GETDATE( ) , 120) "現在日期時間"

   Oracle

   SELECT TO_CHAR(SYSDATE , 'YYYY/MM/DD HH24:MI:SS') "現在日期時間"

     FROM dual

※ 年月日

    SQL Server - CONVERT (CHAR , date , 111)

    Oracle - TO_CHAR (DATE , 'YYYY/MM/DD' )

※ 24小時制

    SQL Server - CONVERT (CHAR , date , 120)

    Oracle - TO_CHAR (DATE , 'YYYY/MM/DD HH24:MI:SS' )

※ 12小時制

    Oracle - TO_CHAR (DATE , 'YYYY/MM/DD HH:MI:SS' )

[日期運算]

輸出昨天、今天、明天的日期

   SQL Server

   SELECT  GETDATE( ) - 1 "昨天"

                  GETDATE( )       "今天"

                 GETDATE( ) + 1 "明天"

   Oracle

   SELECT SYSDATE - 1 "昨天"

                SYSDATE      "今天"

                SYSDATE + 1 "明天" 

     FROM dual

 

輸出這個月最後一天的日期

   SQL Server

   SELECT  DATEADD(DAY , -1 , CONVERT(DATETIME , (CONVERT(CHAR(7) , DATEADD(MONTH , 1 , GETDATE( )) , 111) + '/1'))) "月底日期"

   Oracle

   SELECT LAST_DAY(SYSDATE) "月底日期"

     FROM dual

 

輸出到月底為止的剩餘天數

   SQL Server

   SELECT  DATEDIFF(DAY , GETDATE( ) , DATEADD(DAY , -1 , CONVERT(DATETIME ,

                (CONVERT(CHAR(7) , DATEADD(MONTH , 1 , GETDATE( )) , 111) + '/1')))) "剩餘天數"

   Oracle

   SELECT LAST_DAY(SYSDATE) - SYSDATE "剩餘天數"

     FROM dual

 

SQL 基礎篇(一) : SQL Server | Oracle 語法

SQL 基礎篇(二) : SQL Server | Oracle 語法

 

相關文章:

SQL 取得資料庫相關資訊 : SQL Server | Oracle 語法

SQL 字串相關 : SQL Server | Oracle 語法

SQL 新增、修改、刪除 : SQL Server | Oracle 語法

SQL 日期相關(格式、運算) : SQL Server | Oracle 語法

SQL 基礎篇(二) : SQL Server | Oracle 語法

SQL 基礎篇(一) : SQL Server | Oracle 語法

    歐歐 Lin 發表在 痞客邦 留言(0) 人氣()