當前位置:首頁 » 編程語言 » sqltoday
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqltoday

發布時間: 2022-05-08 09:50:33

sql中如何實現日期運行

日期差想按年、月、日、時、分、秒哪個來算呢?日期直接相減轉換成整數的話是差的天數,比如
'2008-1-2 12:00'和 '2008-1-1 13:00'直接相減的話結果是1,即差1天
'2008-1-2 22:00'和 '2008-1-1 13:00'直接相減的話結果也是1
如果在現有表上更新的話語句如下
update 表
set c=cast(cast(B as datetime)-cast(A as datetime) as int)

里邊共使用了兩層cast語句
內層是防止A、B列不是datetime類型,外層的是把相減的結果轉換為int類型
如果設計表時實現,把C列創建為計算接就可以了,創建表的語句如下
create table 表名
(
A datetime,
B datetime,
C as cast(B-A as int)
)

⑵ SQL 當天日期減去一天 應該如何寫

SQL語句使用DATEADD得到一個時間加上或減去指定天數之後的時間。也適用於小時、分鍾、秒鍾等等

DATEADD() 函數功能:在日期中添加或減去指定的時間間

語法:DATEADD(datepart,number,date)

date參數是合法的日期表達式。number是您希望添加的間隔數;對於未來的時間,此數是正數,對於過去的時間,此數是負數。

datepart參數可以是下列的值:

⑶ SQL 查詢語句 查詢某天的數據

select * from news where
substring(Convert(char(10),date,112),1,8)='20090112'

按日查
substring(Convert(char(10),date,112),1,8)='20090112'
按月查
substring(Convert(char(10),date,112),1,6)='200901'
按年查
substring(Convert(char(10),date,112),1,4)='2009'

⑷ 某一個欄位表示一天,怎麼用SQL取連續三天

select begin_dt
from (select begin_dt, count(*) over(partition by ch) cnt
from (select begin_dt,
to_date(begin_dt, 'yyyy-mm-dd') - row_number() over(order by begin_dt) ch
from liur_account)
)
where cnt >= 3;

⑸ SQL語句怎麼進行日期間的比較

ResultSet rs1 = cmd.executeQuery("select * from DATE where Dstartdate>='"+today+"'");

⑹ mysql中計算出今天,昨天,近一周,近一月數據sql咋寫

首先要考慮給資料庫減壓,意思就是讓資料庫做最簡單的事情。你可以把條件在php里邊組裝好,然後讓mysql只單一的執行查詢就好了,php的時間代碼給你貼一下吧

<?php

date_default_timezone_set('Asia/Shanghai');

echo"今天:".date("Y-m-dH:i:s")."<br>";
echo"昨天:".date("Y-m-d",strtotime("-1day")),"<br>";
echo"明天:".date("Y-m-d",strtotime("+1day"))."<br>";
echo"一周後:".date("Y-m-d",strtotime("+1week"))."<br>";
echo"一周前:".date("Y-m-d",strtotime("-1week"))."<br>";
echo"一周零兩天四小時兩秒後:".date("Y-m-dG:H:s",strtotime("+1week2days4hours2seconds"))."<br>";
echo"下個星期四:".date("Y-m-d",strtotime("nextThursday"))."<br>";
echo"上個周一:".date("Y-m-d",strtotime("lastMonday"))."<br>";
echo"一個月前:".date("Y-m-d",strtotime("lastmonth"))."<br>";
echo"一個月後:".date("Y-m-d",strtotime("+1month"))."<br>";
echo"十年後:".date("Y-m-d",strtotime("+10year"))."<br>";

echo'<hr/>';
//php獲取今日開始時間戳和結束時間戳
$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
echo"今日開始時間戳和結束時間戳",'開始:',$beginToday,'結束:',$endToday,'<br/>';
echo"今日開始時間:",date("Y-m-dH:i:s",$beginToday),'<br/>';
echo"今日結束時間:",date("Y-m-dH:i:s",$endToday),'<br/>';

echo'<hr/>';
//php獲取昨日起始時間戳和結束時間戳
$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
echo"昨日開始時間戳和結束時間戳",'開始:',$beginYesterday,'結束:',$endYesterday,'<br/>';
echo"昨日開始時間:",date("Y-m-dH:i:s",$beginYesterday),'<br/>';
echo"昨日結束時間:",date("Y-m-dH:i:s",$endYesterday),'<br/>';

echo'<hr/>';
//php獲取上周起始時間戳和結束時間戳
$beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
$endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));
echo"上周開始時間戳和結束時間戳",'開始:',$beginLastweek,'結束:',$endLastweek,'<br/>';
echo"上周開始時間:",date("Y-m-dH:i:s",$beginLastweek),'<br/>';
echo"上周結束時間:",date("Y-m-dH:i:s",$endLastweek),'<br/>';

echo'<hr/>';
//php獲取本月起始時間戳和結束時間戳
$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
echo"本月開始時間戳和結束時間戳",'開始:',$beginThismonth,'結束:',$endThismonth,'<br/>';
echo"本月開始時間:",date("Y-m-dH:i:s",$beginThismonth),'<br/>';
echo"本月結束時間:",date("Y-m-dH:i:s",$endThismonth),'<br/>';

?>

⑺ 定義用戶變數TODAY,並使用一條SET語句和一條SELECT語句把當前的日期賦值給它後顯示

SQLSERVER版本:
DECLARE @TODAY DATE
SET @TODAY=GETDATE();
SELECT @TODAY;
--或者 PRINT @TODAY;

ORACLE版本:
DECLARE TODAY DATE;
BEGIN
SELECT SYSDATE INTO TODAY FROM DUAL;
DBMS_OUTPUT.PUT_LINE(TODAY);
END;

⑻ 如何用SQL返回兩個日期之間的所有連續日期

在層次查詢中,Oracle引入了一個偽列level,用來表示當前行(節點)對應的level,
它從1開始計數,每多一層level的值就加1。
我們可以據此實現對兩個日期/整數之間所有日期/整數的遍歷。
----------------------------------------------------------
SQL> create table test (begin_date date,end_date date);

Table created

SQL> insert into test values(trunc(sysdate),trunc(sysdate+5));

1 row inserted

SQL> select * from test;

BEGIN_DATE END_DATE
----------- -----------
2010-4-6 2010-4-11

SQL> select begin_date,end_date,begin_date+level -1 as today
2 from test
3 connect by begin_date + level -1 <= end_date;

BEGIN_DATE END_DATE TODAY
----------- ----------- -----------
2010-4-6 2010-4-11 2010-4-6
2010-4-6 2010-4-11 2010-4-7
2010-4-6 2010-4-11 2010-4-8
2010-4-6 2010-4-11 2010-4-9
2010-4-6 2010-4-11 2010-4-10
2010-4-6 2010-4-11 2010-4-11

6 rows selected

------------------------------------------------------------------插入兩條記錄,看該查詢語句是否可行
SQL> insert into test values(trunc(sysdate+4),trunc(sysdate+7));

1 row inserted

SQL> select * from test;

BEGIN_DATE END_DATE
----------- -----------
2010-4-6 2010-4-11
2010-4-10 2010-4-13

SQL> select distinct begin_date+level-1 as today
2 from test
3 connect by begin_date+level-1 <= end_date;

TODAY
-----------
2010-4-7
2010-4-13
2010-4-8
2010-4-11
2010-4-9
2010-4-6
2010-4-10
2010-4-12

8 rows selected
--------------------------------------- 根據最大和最小值得查詢
SQL> delete from test where begin_date = to_date('2010-4-10','yyyy-mm-dd');

1 row deleted

SQL> select * from test;

BEGIN_DATE END_DATE
----------- -----------
2010-4-6 2010-4-11

SQL> SELECT one_date
2 FROM (SELECT start_date + level - 1 one_date
3 FROM (SELECT min(begin_date) start_date, max(end_date) end_date
4 FROM test) test
5 connect BY start_date + level - 1 <= end_date ) all_date,
6 test
7 WHERE one_date BETWEEN begin_date AND end_date;

ONE_DATE
-----------
2010-4-6
2010-4-7
2010-4-8
2010-4-9
2010-4-10
2010-4-11

6 rows selected

⑼ java獲取昨天的日期和sql如何獲得昨天日期

JAVA
importjava.text.Format;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;

publicclass${

publicstaticvoidmain(String[]args){

Formatf=newSimpleDateFormat("yyyy-MM-dd");
Calendarc=Calendar.getInstance();

System.out.println("今天:"+f.format(c.getTime()));

c.add(Calendar.DAY_OF_MONTH,-1);
System.out.println("昨天:"+f.format(c.getTime()));
}
}


SQL(MySQL):

selectdate_sub(current_date(),interval1day)

⑽ 在SQL怎樣判斷日期是否是星期天

EXCEL中判斷一個日期是不是今天,用公式=today()可實現;
操作如下:
比如,A2單元格的日期是2016年12月7日,要判斷此日期是否今天日期,如下圖;

1;在其它空的單元格(比如,D2單元格)上輸入公式:=today()

2;然後,按回車鍵。得出今天日期;

3;A2單元格和D2單元格的日期一比較就知道A2單元格的日期是否是今天的日期了。