Ⅰ 只用年份和月份相減,得到相差月數,sql語句如何寫
可以把年月轉為日期:年+'-'+月+'-01',月份如果是純數字,注意10以下的要補0。然後用datediff取月份差
datediff(m,year1+'-'+case when mon1<10 then '0'+mon1 else mon1 end+'-01',year2+'-'+case when mon2<10 then '0'+mon2 else mon2 end+'-01')
年份差*12+月份差
(year2-year1)*12+(mon2-mon1)
Ⅱ Oracle怎麼樣用sql語句得出相差的月數
使用Months_between(f,s) 日期f和s間相差月數,但結果有小數。你要整數,可以進行截取。
實例:
SELECT Months_between(SYSDATE,input_date) FROM aa_yudy_deal
Ⅲ sql取周年月問題
select DATEDIFF(week,'2010-10-28',GETDATE())
select DATEDIFF(year,'2010-10-28',GETDATE())
select DATEDIFF(day,'2010-10-28',GETDATE())
select DATEDIFF(month,'2010-10-28',GETDATE())
Ⅳ sql~日期格式如何相減
1、簡單介紹一下datediff()函數。
DATEDIFF()函數返回兩個日期之間的天數。
語法:
DATEDIFF(datepart,startdate,enddate)
startdate和enddate參數是合法的日期表達式。
datepart參數可以是下列的值:
Ⅳ sql數值型日期怎麼相減得到月份差
select datediff(year, 開始日期,結束日期); --兩日期間隔年
select datediff(quarter, 開始日期,結束日期); --兩日期間隔季
select datediff(month, 開始日期,結束日期); --兩日期間隔月
select datediff(day, 開始日期,結束日期); --兩日期間隔天
select datediff(week, 開始日期,結束日期); --兩日期間隔周
select datediff(hour, 開始日期,結束日期); --兩日期間隔小時
select datediff(minute, 開始日期,結束日期); --兩日期間隔分
select datediff(second, 開始日期,結束日期); --兩日期間隔秒
Ⅵ sql如何按日期中的月份查詢
sql按日期中的月份查詢如下:
SQL Server
select * from [data] where DATEPART(m,[date])=2
Access
select * from [data] where DATEPART('m',[date])=2
說明:
DATEPART(datepart,date)
返回表示指定日期的指定部分的整數
datepart 要取得的日期部分
- m 表示月份,d表示日,yyyy表示年
date 日期表達式
舉例:
--以2013-12-10 12:56:55為例
--convert(nvarchar(10),CreateDate,120) => 2013-12-10
--DATEPART(month,CreateDate) => 12
--DATEPART(year,CreateDate) => 2013
--月
select datepart(MONTH,'2013-06-08')
select datepart(mm,'2013-06-08')
select datepart(m,'2013-06-08')
(6)sql月份差額擴展閱讀:
相關函數
SQL Aggregate 函數
SQL Aggregate 函數計算從列中取得的值,返回一個單一的值。
有用的 Aggregate 函數:
AVG() - 返回平均值
COUNT() - 返回行數
FIRST() - 返回第一個記錄的值
LAST() - 返回最後一個記錄的值
MAX() - 返回最大值
MIN() - 返回最小值
SUM() - 返回總和
SQL Scalar 函數
SQL Scalar 函數基於輸入值,返回一個單一的值。
有用的 Scalar 函數:
UCASE() - 將某個欄位轉換為大寫
LCASE() - 將某個欄位轉換為小寫
MID() - 從某個文本欄位提取字元
LEN() - 返回某個文本欄位的長度
ROUND() - 對某個數值欄位進行指定小數位數的四捨五入
NOW() - 返回當前的系統日期和時間
Ⅶ SQL日期差值問題
SELECT DATEDIFF(d, D, GETDATE()) AS ND
FROM T
語法
DATEDIFF ( datepart , startdate , enddate )
參數
datepart
是規定了應在日期的哪一部分計算差額的參數。下表列出了 Microsoft® SQL Server™ 識別的日期部分和縮寫。
日期部分 縮寫
year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms
Ⅷ 如何簡單地用一句SQL算一下兩個日期間相差的月份數
使用Datedif(日期1,日期2,"m")函數
DATEDIF是EXCEL中的函數,還有以下的使用方法一並教教:
1、簡要說明: 返回兩個日期之間的年\月\日間隔數
2、基本語法: =DATEDIF(開始日期,結束日期,單位代碼)
3、實例1:
題目: 計算出生日期為1973-4-1人的年齡
公式: =DATEDIF("1973-4-1",TODAY(),"Y")
結果: 33
簡要說明 當單位代碼為"Y"時,計算結果是兩個日期間隔的年數.
4、實例2:
題目: 計算日期為1973-4-1和當前日期的間隔月份數.
公式: =DATEDIF("1973-4-1",TODAY(),"M")
結果: 403
簡要說明 當單位代碼為"M"時,計算結果是兩個日期間隔的月份數.
5、實例3:
題目: 計算日期為1973-4-1和當前日期的間隔天數.
公式: =DATEDIF("1973-4-1",TODAY(),"D")
結果: 12273
簡要說明 當單位代碼為"D"時,計算結果是兩個日期間隔的天數.
5、實例4:
題目: 計算日期為1973-4-1和當前日期的不計年數的間隔天數.
公式: =DATEDIF("1973-4-1",TODAY(),"YD")
結果: 220
簡要說明 當單位代碼為"YD"時,計算結果是兩個日期間隔的天數.忽略年數差
5、實例5:
題目: 計算日期為1973-4-1和當前日期的不計月份和年份的間隔天數.
公式: =DATEDIF("1973-4-1",TODAY(),"MD")
結果: 6
簡要說明 當單位代碼為"MD"時,計算結果是兩個日期間隔的天數.忽略年數和月份之差
5、實例6:
題目: 計算日期為1973-4-1和當前日期的不計年份的間隔月份數.
公式: =DATEDIF("1973-4-1",TODAY(),"YM")
結果: 7
簡要說明 當單位代碼為"YM"時,計算結果是兩個日期間隔的月份數.不計相差年數
Ⅸ SQL比較年和月差值
select datediff(month,'2014-06-01','2015-06-01') 不滿足的話就拆開算
Ⅹ SQL語句中求兩個月份值之間的差,比如201001到201101的差是12個月
sysdate和acct_month都是數值型
datediff(M, cast(acct_month * 100 + 1 as nchar(8), cast(sysdate * 100 + 1 as nchar(8)))
如果sysdate指的是當前系統日期,可用getdate()函數代替
datediff(M, cast(acct_month * 100 + 1 as nchar(8), getdate())
可以寫在where子句中
確定最小時間同差值有關系嗎,不是用min()函數?