[格式變換]
※ 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 語法