『壹』 sql如何獲取日期月份的第一天
如:給定的年月格式為20157,代表2015年7月。
取某月第一天:
SELECTCAST((LEFT('20157',4)+'-'+SUBSTRING('20157',5,LEN('20157'))+'-'+'01')ASDATETIME)
結果:
『貳』 sql 獲取當前月的第一天
DATEDIFF(mm,0,getdate())用來計算出「0」和當前日期所相差的月份數,比如說相差10個月。
DATEADD (mm,x,0)
在0日期的基礎上,加上x個月。
那麼就相當於把去掉了日期,只留下了月份,也就是當前月份了。沒有日期,也就是第一天的0點了。
『叄』 SQL中有什麼函數自動獲取每月月初
Oracle取得本周,本月,本季,本年的第一天和最後一天
--本周
select trunc(sysdate,'d')+1 from al;
select trunc(sysdate,'d')+7 from al;
--本月
select trunc(sysdate,'mm') from al;
select last_day(trunc(sysdate)) from al;
--本季
select trunc(sysdate,'Q') from al;
select add_months(trunc(sysdate,'Q'),3)-1 from al;
--本年
select trunc(sysdate,'yyyy') from al;
select add_months(trunc(sysdate,'yyyy'),12)-1 from al;
『肆』 sql ,求所月項目的月初現金余額,如何用sql實現
因為之前沒有仔細理解你的問題,後來發現你的原本意圖並未交代清楚,所以我收回之前的答案。如果需要我解決你的問題的話,請向我發追問,只要搞清楚了你的意圖,肯定能給出正確答案。
根據用網路消息向提問者了解後,現在已經弄清楚問題的實質意圖為:
找到那張表裡每個月,各個項目下日期最小的那條記錄,然後輸出該條記錄之(余額+付-收)的計算值
表情況說明:
1.余額、付、收的數據類型是數字
2.日期是文本
3.如果科目相同的情況下,不會出現多個相同最小日期的情況
4.表內存儲多個月的記錄(不含年份)
為了避免SQL過於復雜,請確保:
A.余額、付、收這三個欄位的必填欄位屬性為「是」,確保沒有空值存在;
B.日期欄位值必須嚴格按照:兩位月份/兩位日期(例如:01/06) 格式錄入;
C.請為科目和日期這兩個欄位添加唯一聚合索引,以避免同科目有多個相同日期的情況發
生。
SQL代碼如下:
SELECT 表.科目, 表.余額+表.付-表.收 AS 月初現金余額, 表.日期
FROM 表 INNER JOIN (SELECT DISTINCT MIN(日期) AS D FROM 表
GROUP BY 科目,LEFT(日期,2))a ON 表.日期=a.D
ORDER BY 表.日期, 表.科目;
運行上列代碼,得到下列結果:
科目 月初現金余額 日期
A 800 01/05
B 100 01/06
『伍』 SQL語句獲取日期的月份
下面以SQL Server資料庫為例,可以用自帶函數MONTH獲取,sql語句如下:
select MONTH(時間列名) as month from 表名
步驟:
1、創建test1表,並賦值。
獲取到年份為「2008」。
『陸』 pl/sql 怎麼提取指點時間的月初第一天
declare
rt_end Date;
rt_first varchar(20);
begin
rt_end:=to_date('2012-02-14','yyyy-mm-dd');
rt_first:=to_char(rt_end,'yyyy-mm')||'-01';
dbms_output.put_line(rt_first);
end;
/
我不清楚你的題目是要求什麼的,所以也不知要怎麼做,只能做這些。
希望這個對你有幫助!
『柒』 在SQL中如何提取日期中的月份
1、首先我碰畢們需要找到一個帶日期欄位的數據表。
『捌』 如何獲取資料庫中日期的月份(用SQL函數
使用datename函數,獲早毀取日期的月份。
例:表table中的rq欄位
SQL語句如下:
selectdate(mm,rq)fromtable
相關日期、時蠢握間的提取方法帶睜慶還有:
年份datename(yy,rq)
月份datename(mm,rq)
日datename(dd,rq)
小時datename(hh,rq)
分鍾datename(n,rq)//不是m,也不是mm
『玖』 sql 語句 怎麼獲取指定月的第一天和最後一天
first_day()得到一個月中的第一天:如first_day(to_date('2008-5-22','yyyy-mm-dd')) 結果:2008-5-1
last_day()得到一個月最後的一天:如:last_day(to_date('2008-5-22','yyyy-mm-dd')) 結果:2008-5-31 ;
『拾』 sql如何取某年某月的第一天和最後一天
SELECT CAST((LEFT('20093',4)+'-'+SUBSTRING('20093',5,LEN('20093'))+'-'+'01') AS DATETIME)--第一天
SELECT DATEADD(DAY,-1,DATEADD(MONTH,1,CAST((LEFT('20093',4)+'-'+SUBSTRING('20093',5,LEN('20093'))+'-'+'01') AS DATETIME)))--最後一天
原理:第一天肯定是1號拉,最後一天是下個月第一天減一天。
本月第一天
SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate()), 0)) as mouthlastdate
下月第一天:
SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)) as mouthlastdate
下下月第一天:
SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate())+2, 0)) as mouthlastdate
(10)sql計算日期月初擴展閱讀
sqlserver 時間格式函數詳細
--getdate 獲取當前時間
select getdate()
--dateadd 原有時間加: 2013-02-17 13:20:16 此時間加12個月
select dateadd(MONTH,12,'2013-02-17 13:20:16') --返回:2014-02-17 13:20:16.000 (參數month可以改為 day,year等日期加相應的值)
--datediff 兩個時間的差 (後面-前面=返回值)
select datediff(day,'2013-02-01','2013-02-18') --返回:17 (參數day可以改為 month,year等日期加相應的值)
--datepart 獲取日期的某個部分整數
select DATEPART(month, '2013-2-17') --返回 2 (參數month可以改為 day,year等日期加相應的值)
--datename 獲取指定部位的字元串
select datename(weekday, '2013-2-17') --返回 星期日 (參數weekday可以改為 day,year等日期加相應的值)
--day(), month(),year() 獲取指定部位的字元串
select day('2013-2-15') --返回15