A. sql 計算一個月幾天
可以將年月組成一個月的第一天,再與下個月第一天比較差異天數
declare
@ym
varchar(6)
--年月
select
datediff(day,
cast(@ym+
'01'
as
datetime),dateadd(month,1,cast(@ym+
'01'
as
datetime))
)
B. sql獲取獲取近6個月的時間,格式'yyyy-mm',求指教
declare@iint
set@i=5
while@i>=0
begin
selectSUBSTRING(CONVERT(VARCHAR(100),dateadd(month,-@i,getdate()),23),1,7)
set@i=@i-1
end
效果如圖:
C. SQL資料庫語言 求某個日期所在月份有多少天
DECLARE @DATE DATETIME
SET @DATE='2007-02-02'
SELECT DATEDIFF(DAY,@DATE,DATEADD(MONTH,1,@DATE))
原理:本月的今天到下月的今天就是本月的天數,比樓上的都簡單,:),LZ自己可以試試
D. SQL語句判斷在一個固定時間到六個月後為條件
6個月後用dateadd
如:
時間 between '開始時間' and dateadd(month,6,'開始時間')
E. sql函數計算半年後的日期
查詢半年內工作的員工,半年按6個月算,每個月按平均30天算,也就是當前日期減去180天;
Oracle 里的SQL如下:
F. 6個月是多少天用sql 怎麼寫
datediff(mm,0,getdate())用來計算出「0」和當前日期所相差的月份數,比如說相差10個月。
dateadd
(mm,x,0)
在0日期的基礎上,加上x個月。
那麼就相當於把去掉了日期,只留下了月份,也就是當前月份了。沒有日期,也就是第一天的0點了。
G. sqlserver獲取最近六個月天數總和,例如現在是八月份,我要獲取2-7月份天數總和
declare
@Interval int, --間隔天數
@BeginDate DateTime, --開始時間
@EndDate DateTime --結束時間
begin
set @BeginDate = DATEADD(day,-DAY(DATEADD(MONTH,-6,GETDATE()))+1,DATEADD(MONTH,-6,GETDATE()))
set @EndDate = EOMONTH(DATEADD(MONTH,-1,GETDATE()))
set @Interval = DATEDIFF(day,@BeginDate,@EndDate)
select @Interval
end