SqlServer常用函數(shù)及時(shí)間處理小結(jié)
YEAR() 函數(shù)返回一個(gè)整數(shù)值,它表示指定日期的年份,一般使用為:Year(時(shí)間),如:
YEAR('2023-03-14 16:50:08.543')--2023
REPLACE() 字符串替換函數(shù),一般使用為:REPLACE(被搜索字符串,需要替換的字符串,替換值),如:
REPLACE('測試添加的','的','測試數(shù)據(jù)')--測試添加測試數(shù)據(jù)
STUFF() 函數(shù)用于刪除指定長度的字符,并可以在指定的起點(diǎn)處插入另一組字符,一般使用為:STUFF(字符串,從1開始計(jì)算字符開始位置,要?jiǎng)h除的字符數(shù),要重新插入的字符串),如:
STUFF('測試添加的',3,2,'修改')--測試修改的
DATEADD() 函數(shù)將數(shù)字值添加到輸入日期的指定日期部分,并返回修改后的值,一般使用為:DATEADD(需要對(duì)時(shí)間的什么部分操作,時(shí)間,間隔數(shù)–過去為負(fù)數(shù)未來為正數(shù)),如:
DATEADD(Year, -7,GETDATE())`--2016-03-14 16:48:01.317
DATEDIFF() 函數(shù)返回兩個(gè)日期之間的差值。一般使用為:DATEDIFF(需要時(shí)間差距部分,開始時(shí)間,結(jié)束時(shí)間),如:
DATEDIFF(MS,'2023-03-14 16:45:08.543','2023-03-14 16:50:08.543') --300000 (毫秒) DATEDIFF(SS,'2023-03-14 16:45:08.543','2023-03-14 16:50:08.543') --300 (秒) DATEDIFF(MI,'2023-03-14 16:45:08.543','2023-03-14 16:50:08.543') -- 5 (分鐘) DATEDIFF(HOUR,'2023-03-14 12:50:08.543','2023-03-14 16:50:08.543') -- 4 (小時(shí)) DATEDIFF(DAY,'2023-03-01 16:50:08.543','2023-03-14 16:50:08.543')--13 (天) DATEDIFF(WEEK,'2023-03-01 16:50:08.543','2023-03-14 16:50:08.543')--2 (周) DATEDIFF(MONTH,'2023-02-01 16:50:08.543','2023-03-14 16:50:08.543') --1 (月) DATEDIFF(QUARTER,'2023-01-01 16:50:08.543','2023-04-14 16:50:08.543') -- 1 (季度) DATEDIFF(YEAR,'2022-02-01 16:50:08.543','2023-03-14 16:50:08.543')-- 1 (年)
比較常用的一些Sql時(shí)間相關(guān)查詢
--獲取當(dāng)前時(shí)間的月日部分,并處理為【月/日】格式 Select STUFF(REPLACE(CONVERT(VARCHAR(10),GETDATE(),111),YEAR(GETDATE()),''),1,1,'') --03/14 --獲取當(dāng)前時(shí)間的前7天,如需獲取前后幾天則針對(duì)【-7】這個(gè)值進(jìn)行修改 Select DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), -7)--2023-03-07 00:00:00.000 --獲取本月最后一天日期 Select CONVERT(VARCHAR(10),DATEADD(MONTH,DATEDIFF(MONTH, -1, GETDATE()), -1),23)--2023-03-31 --獲取上月最后一天日期 Select CONVERT(VARCHAR(10),DATEADD(MONTH,DATEDIFF(MONTH, 0, GETDATE()), -1),23)--2023-02-28 --本年第一天 Select DATEADD(YEAR,DATEDIFF(YEAR,0,GETDATE()),0)--2023-01-01 00:00:00.000 --本年最后一天 Select DATEADD(YEAR,DATEDIFF(YEAR,0,DATEADD(YEAR,1,GETDATE())),-1)--2023-12-31 00:00:00.000 --下年第一天 Select DATEADD(YEAR,DATEDIFF(YEAR,0,DATEADD(YEAR,1,GETDATE())),0)--2024-01-01 00:00:00.000 --下年最后一天 Select DATEADD(YEAR,DATEDIFF(YEAR,0,DATEADD(YEAR,2,GETDATE())),-1)--2024-12-31 00:00:00.000 --上年第一天 Select DATEADD(YEAR,DATEDIFF(YEAR,0,DATEADD(YEAR,-1,GETDATE())),0)--2022-01-01 00:00:00.000 --上年最后一天 Select DATEADD(YEAR,DATEDIFF(YEAR,0,GETDATE()),-1)--2022-12-31 00:00:00.000
Sql CONVERT日期格式轉(zhuǎn)換
SELECT CONVERT(varchar(100), GETDATE(), 0) --03 14 2023 5:06PM SELECT CONVERT(varchar(100), GETDATE(), 1) --03/14/23 SELECT CONVERT(varchar(100), GETDATE(), 2) --23.03.14 SELECT CONVERT(varchar(100), GETDATE(), 3) --14/03/23 SELECT CONVERT(varchar(100), GETDATE(), 4) --14.03.23 SELECT CONVERT(varchar(100), GETDATE(), 5) --14-03-23 SELECT CONVERT(varchar(100), GETDATE(), 6) --14 03 23 SELECT CONVERT(varchar(100), GETDATE(), 7) --03 14, 23 SELECT CONVERT(varchar(100), GETDATE(), 8) --17:07:16 SELECT CONVERT(varchar(100), GETDATE(), 9) --03 14 2023 5:07:16:800PM SELECT CONVERT(varchar(100), GETDATE(), 10) --03-14-23 SELECT CONVERT(varchar(100), GETDATE(), 11) --23/03/14 SELECT CONVERT(varchar(100), GETDATE(), 12) --230314 SELECT CONVERT(varchar(100), GETDATE(), 13) --14 03 2023 17:07:29:713 SELECT CONVERT(varchar(100), GETDATE(), 14) --17:07:43:390 SELECT CONVERT(varchar(100), GETDATE(), 20) --2023-03-14 17:07:43 SELECT CONVERT(varchar(100), GETDATE(), 21) --2023-03-14 17:07:43.390 SELECT CONVERT(varchar(100), GETDATE(), 22) --03/14/23 5:07:56 PM SELECT CONVERT(varchar(100), GETDATE(), 23) --2023-03-14 SELECT CONVERT(varchar(100), GETDATE(), 24) --17:07:56 SELECT CONVERT(varchar(100), GETDATE(), 25) -- 2023-03-14 17:06:11.847 SELECT CONVERT(varchar(100), GETDATE(), 100) --03 14 2023 5:06PM SELECT CONVERT(varchar(100), GETDATE(), 101) --03/14/2023 SELECT CONVERT(varchar(100), GETDATE(), 102) --2023.03.14 SELECT CONVERT(varchar(100), GETDATE(), 103) --14/03/2023 SELECT CONVERT(varchar(100), GETDATE(), 104) --14.03.2023 SELECT CONVERT(varchar(100), GETDATE(), 105) --14-03-2023 SELECT CONVERT(varchar(100), GETDATE(), 106) --14 03 2023 SELECT CONVERT(varchar(100), GETDATE(), 107) --03 14, 2023 SELECT CONVERT(varchar(100), GETDATE(), 108) --17:08:31 SELECT CONVERT(varchar(100), GETDATE(), 109) --03 14 2023 5:08:43:493PM SELECT CONVERT(varchar(100), GETDATE(), 110) --03-14-2023 SELECT CONVERT(varchar(100), GETDATE(), 111) --2023/03/14 SELECT CONVERT(varchar(100), GETDATE(), 112) --20230314 SELECT CONVERT(varchar(100), GETDATE(), 113) --14 03 2023 17:08:57:650 SELECT CONVERT(varchar(100), GETDATE(), 114) --17:08:57:650 SELECT CONVERT(varchar(100), GETDATE(), 120) --2023-03-14 17:09:09 SELECT CONVERT(varchar(100), GETDATE(), 121) --2023-03-14 17:09:09.177
到此這篇關(guān)于SqlServer常用函數(shù)及時(shí)間處理小結(jié)的文章就介紹到這了,更多相關(guān)SqlServer常用函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Sql Server使用cursor處理重復(fù)數(shù)據(jù)過程詳解
本節(jié)主要介紹了Sql Server cursor的使用,以處理重復(fù)數(shù)據(jù)為例,需要的朋友可以參考下2014-08-08sqlserver substring函數(shù)使用方法小結(jié)
在操作sqlserver時(shí)候用到了substring函數(shù),特整理一些實(shí)例,需要的朋友可以參考下。2009-12-12在SQL?Server中使用?Try?Catch?處理異常的示例詳解
這篇文章主要介紹了如何在?SQL?Server?中使用?Try?Catch?處理異常,通過實(shí)例代碼了解 SQL Server 中的 Try-Catch 實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07實(shí)用的銀行轉(zhuǎn)賬存儲(chǔ)過程和流水號(hào)生成存儲(chǔ)過程
本篇文章給大家分享銀行轉(zhuǎn)賬存儲(chǔ)過程和流水號(hào)生成存儲(chǔ)過程,感興趣的朋友一起看看吧2015-09-09SQL 尚未定義空閑 CPU 條件 - OnIdle 作業(yè)計(jì)劃將不起任何作用
今天在配置sql server 代理服務(wù)器的計(jì)劃任務(wù)的時(shí)候發(fā)現(xiàn)了日志中提示這個(gè)SQL 尚未定義空閑 CPU 條件 - OnIdle 作業(yè)計(jì)劃將不起任何作用信息導(dǎo)致無法執(zhí)行計(jì)劃任務(wù),那么可以按照下面的方法解決即可2021-06-06使用sqlplus創(chuàng)建DDL和DML操作方法
這篇文章主要介紹了使用sqlplus創(chuàng)建DDL和DML操作方法,需要的朋友可以參考下2018-04-04