如何用Sql語句獲取當前時間,并且在當前時間的基礎上減去3天的時間
一、DateAdd()方法說明
SQL Server提供了日期函數DateAdd用于獲得某日期指定間隔后的日期。
1. 定義和用法
DATEADD() 函數在日期中添加或減去指定的時間間隔。
2. 語法
DATEADD(datepart,number,date)
date 參數是合法的日期表達式。number 是您希望添加的間隔數;對于未來的時間,此數是正數,對于過去的時間,此數是負數。
datepart 參數可以是下列的值:
datepart
縮寫
年 yy, yyyy
季度 qq, q
月 mm, m
年中的日 dy, y
日 dd, d
周 wk, ww
星期 dw, w
小時 hh
分鐘 mi, n
秒 ss, s
毫秒 ms
微妙 mcs
納秒 ns
實例
假設我們有下面這個 "Orders" 表:
OrderId
ProductName
OrderDate
'Computer' 2016-12-29 16:25:46.635
現在,我們希望向 "OrderDate" 添加 2 天,這樣就可以找到付款日期。
我們使用如下 SELECT 語句:
SELECT OrderId,DATEADD(day,2,OrderDate) AS OrderPayDateFROM Orders
結果:
OrderId
OrderPayDate
2016-12-31 16:25:46.635
二、SQL代碼
PRINT DateAdd(day, -3, GetDate())
三、運行測試
05 20 2017 3:10PM
sql語句中日期時間類型怎么比較
一.存儲日期的字段為日期類型
MySql(Date、DateTime、TimeStamp等):
方法一:直接比較
select * from test where create_time between '2015-03-03 17:39:05' and '2016-03-03 17:39:52';
方法二:用unix_timestamp函數,將字符型的時間,轉成unix時間戳
select * from test where unix_timestamp(create_time) >
unix_timestamp('2011-03-03 17:39:05') and unix_timestamp(create_time)
個人覺得這樣比較更踏實點兒。
Oracle(Date,TimeStamp等):
方法一:將字符串轉換為日期類型
select * from test where create_time between to_date('2015-03-03 17:39:05') and to_date('2016-03-03 17:39:52');
二.存儲日期類型的字段為數值類型
MySql(bigint):
方法一:將日期字符串轉換為時間戳
select * from test where create_time >unix_timestamp('2011-03-03
17:39:05') and create_time方法二:將時間戳轉換為日期類型
select * from test where from_unixtime(create_time/1000) between '2014-03-03 17:39:05' and '2015-03-03 17:39:52');
怎么使用sql語句查詢日期所在周的一周各天
檢索日期所在周的一周各天日期方法 一、用到的函數有datepart(),dateadd() 1、datepart()函數,返回代表指定日期的指定日期部分的整數。
語法:DATEPART ( datepart ,date ) 參數:datepart 是指定應返回的日期部分的參數。參數如下 2、DATEADD() 函數在日期中添加或減去指定的時間間隔。
語法:DATEADD(datepart,number,date) date 參數是合法的日期表達式。number 是您希望添加的間隔數;對于未來的時間,此數是正數,對于過去的時間,此數是負數。
datepart 參數可以是下列的值: 二、以系統當前時間為例,檢索一周各天時間的語句如下: 1、DATEPART(weekday,getdate())返回的是整型數值1-7,分別代表周日、周一到周六 2、語句分別獲取周日到周六的日期時間,然后用union 進行檢索結果連接。 3、已獲取周日時間為例: DATEPART(weekday,getdate()) 返回1,即當前日期就是周日,那么輸出當前時間getdate(), DATEPART(weekday,getdate()) 返回2,即前日期是周一,那么周日是前一天,使用函數獲取前一天的日期:dateadd(dd,-1,getdate()) 以此類推就獲取了日期所在周的周日日期時間。
select case when DATEPART(weekday,getdate())=1 then getdate() when DATEPART(weekday,getdate())=2 then dateadd(dd,-1,getdate()) when DATEPART(weekday,getdate())=3 then dateadd(dd,-2,getdate()) when DATEPART(weekday,getdate())=4 then dateadd(dd,-3,getdate()) when DATEPART(weekday,getdate())=5 then dateadd(dd,-4,getdate()) when DATEPART(weekday,getdate())=6 then dateadd(dd,-5,getdate()) when DATEPART(weekday,getdate())=7 then dateadd(dd,-6,getdate()) end as '日期','周日' unionselectcase when DATEPART(weekday,getdate())=1 then dateadd(dd,1,getdate()) when DATEPART(weekday,getdate())=2 then dateadd(dd,0,getdate()) when DATEPART(weekday,getdate())=3 then dateadd(dd,-1,getdate()) when DATEPART(weekday,getdate())=4 then dateadd(dd,-2,getdate()) when DATEPART(weekday,getdate())=5 then dateadd(dd,-3,getdate()) when DATEPART(weekday,getdate())=6 then dateadd(dd,-4,getdate()) when DATEPART(weekday,getdate())=7 then dateadd(dd,-5,getdate()) end as '日期','周一' unionselectcase when DATEPART(weekday,getdate())=1 then dateadd(dd,2,getdate()) when DATEPART(weekday,getdate())=2 then dateadd(dd,1,getdate()) when DATEPART(weekday,getdate())=3 then dateadd(dd,0,getdate()) when DATEPART(weekday,getdate())=4 then dateadd(dd,-1,getdate()) when DATEPART(weekday,getdate())=5 then dateadd(dd,-2,getdate()) when DATEPART(weekday,getdate())=6 then dateadd(dd,-3,getdate()) when DATEPART(weekday,getdate())=7 then dateadd(dd,-4,getdate()) end as '日期','周二' unionselectcase when DATEPART(weekday,getdate())=1 then dateadd(dd,3,getdate()) when DATEPART(weekday,getdate())=2 then dateadd(dd,2,getdate()) when DATEPART(weekday,getdate())=3 then dateadd(dd,1,getdate()) when DATEPART(weekday,getdate())=4 then dateadd(dd,0,getdate()) when DATEPART(weekday,getdate())=5 then dateadd(dd,-1,getdate()) when DATEPART(weekday,getdate())=6 then dateadd(dd,-2,getdate()) when DATEPART(weekday,getdate())=7 then dateadd(dd,-3,getdate()) end as '日期','周三' unionselectcase when DATEPART(weekday,getdate())=1 then dateadd(dd,4,getdate()) when DATEPART(weekday,getdate())=2 then dateadd(dd,3,getdate()) when DATEPART(weekday,getdate())=3 then dateadd(dd,2,getdate()) when DATEPART(weekday,getdate())=4 then dateadd(dd,1,getdate()) when DATEPART(weekday,getdate())=5 then dateadd(dd,0,getdate()) when DATEPART(weekday,getdate())=6 then dateadd(dd,-1,getdate()) when DATEPART(weekday,getdate())=7 then dateadd(dd,-2,getdate()) end as '日期','周四' unionselectcase when DATEPART(weekday,getdate())=1 then dateadd(dd,5,getdate()) when DATEPART(weekday,getdate())=2 then dateadd(dd,4,getdate()) when DATEPART(weekday,getdate())=3 then dateadd(dd,3,getdate()) when DATEPART(weekday,getdate())=4 then dateadd(dd,2,getdate()) when DATEPART(weekday,getdate())=5 then dateadd(dd,1,getdate()) when DATEPART(weekday,getdate())=6 then dateadd(dd,0,getdate()) when DATEPART(weekday,getdate())=7 then dateadd(dd,-1,getdate()) end as '日期','周五' unionselectcase when DATEPART(weekday,getdate())=1 then dateadd(dd,6,getdate()) when DATEPART(weekday,getdate())=2 then dateadd(dd,5,getdate()) when DATEPART(weekday,getdate())=3 then dateadd(dd,4,getdate()) when DATEPART(weekday,getdate())=4 then dateadd(dd,3,getdate()) when DATEPART(weekday,getdate())=5 then dateadd(dd,2,get。
獲取數據庫服務器的當前的時間的SQL語句應該怎么寫
不同數據庫獲取方式也是不一樣的
Oracle:
系統時間比較熟悉 是select sysdate from dual時間類型獲取;
select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual;以字符串形式獲取
SQL Server:
使用GETDATE()
SQL Server擁有非常強大的日期函數:
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2008 10:57AM
MYSQL
select now();
轉載請注明出處華閱文章網 » 當前時間的sql語句