Last active
December 31, 2015 04:13
-
-
Save relyky/3d57e4f7648c320e98a7 to your computer and use it in GitHub Desktop.
T-SQL, date manipulation, 日期操作
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- 當月第一天 | |
SELECT DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0) | |
-- 2015-12-01 00:00:00.000 | |
-- 當月最後一天 | |
SELECT DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE()),-1) | |
-- 2015-12-31 00:00:00.000 | |
-- 相差年數(有小數) | |
SELECT DATEDIFF(MONTH, '2011/6/1', GETDATE()) / 12.0 | |
-- 4.500000 | |
-- 相差年數(無條件捨去) | |
SELECT FLOOR(DATEDIFF(MONTH, '2011/1/1', GETDATE()) / 12) | |
-- 4 | |
-- 至今相差幾個月份 | |
SELECT DATEDIFF(MONTH, '2015/1/1', GETDATE()) | |
-- 11 | |
-- 年月日格式判斷 | |
IF '0981231' LIKE '[01][0-9][0-9][012][0-9][0123][0-9]' | |
PRINT 'TRUE'; | |
ELSE | |
PRINT 'FALSE'; | |
--TRUE | |
-- 格式轉換 | |
SELECT CONVERT(VARCHAR(20), GETDATE(), 110) | |
-- 12-31-2015 | |
SELECT CONVERT(VARCHAR(20), GETDATE(), 111) | |
-- 2015/12/31 | |
SELECT CONVERT(VARCHAR(20), GETDATE(), 112) | |
-- 20151231 | |
SELECT CONVERT(VARCHAR(20), GETDATE(), 120) | |
-- 20151231 | |
SELECT CONVERT(VARCHAR(20), GETDATE(), 121) | |
-- 2015-12-31 12:05:56. | |
-- 序號編碼:BIGINT → YYYYMM & NNNNNN ; 年月+6碼數字序號 | |
SELECT CAST(CONVERT(VARCHAR(6), GETDATE(), 112) AS BIGINT) * 1000000 + 998 | |
-- 201512000998 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment