sql年份
SQL從時間欄位值中獲取年份使用DATENAME()函數。
DATENAME()函數語法:DATENAME(param,date)。
date是時間欄位名 或一個時間值param是指定要返回日期部分的參數,包括下面幾種:
獲取年份就可以這樣寫 datename(year,date) 或 datename(yy,date) 。
已系統當前時間getdate()為例,3種寫法獲取年份。另外,DATENAME返回的是一個字元串,如果需要返回整數,可以使用DATEPART ( datepart , date ) ,語法與DATENAME相同。
獲取日期欄位的年select to_char(sysdate,'yyyy') as year from al或者:(指定日期)select to_char(to_date('2013/08/08','yyyy/mm/dd'),'yyyy') as year from al
獲取日期欄位的月select to_char(sysdate,'mm') as month from al
獲取日期欄位的日select to_char(sysdate,'dd') as day from a
B. SQL查詢日期的年份
要返回正確的記錄,你需要適用日期和時間范圍。有不止一種途徑可以做到這一點。例如,下面的這個SELECT 語句將能返回正確的記錄: SELECT * FROM weblog WHERE entrydate>=」12/25/2000」 AND entrydate<」12/26/2000」 這個語句可以完成任務,因為它選取的是表中的日期和時間大於等於12/25/2000 12:00:00:000AM並小於12/26/2000 12:00:00:000AM的記錄。換句話說,它將正確地返回2000年聖誕節這一天輸入的每一條記錄。 另一種方法是,你可以使用LIKE來返回正確的記錄。通過在日期表達式中包含通配符「%」,你可以匹配一個特定日期的所有時間。這里有一個例子: SELECT * FROM weblog WHERE entrydate LIKE 『Dec 25 2000%』 這個語句可以匹配正確的記錄。因為通配符「%」代表了任何時間。
C. sql查詢數據,好多都需要按年份查詢,按年份查數據有哪幾種方式呢
第一種:
dateCol >= '2011-1-1' and dateCol < '2012-1-1'
第二種:
YEAR(dateCol) = 2011
第三種:
DATENAME(yy, dateCol) = '2011'
D. sql中如何提取從資料庫中所獲得時間的年份
SQL從時間欄位值中獲取年份使用DATENAME()函數。
DATENAME()函數語法:DATENAME(param,date)。
date是時間欄位名 或一個時間值param是指定要返回日期部分的參數,包括下面幾種:
獲取年份就可以這樣寫 datename(year,date) 或 datename(yy,date) 。
已系統當前時間getdate()為例,3種寫法獲取年份。另外,DATENAME返回的是一個字元串,如果需要返回整數,可以使用DATEPART ( datepart , date ) ,語法與DATENAME相同。
獲取日期欄位的年select to_char(sysdate,'yyyy') as year from al或者:(指定日期)select to_char(to_date('2013/08/08','yyyy/mm/dd'),'yyyy') as year from al
獲取日期欄位的月select to_char(sysdate,'mm') as month from al
獲取日期欄位的日select to_char(sysdate,'dd') as day from a
E. SQL數據表只有年齡怎麼查詢出生年份
SQL數據表只有年齡可以使用資料庫里的日期處理函數,倒推出生年份。年齡指的是,從出生年月到現在經過了多少年。也就是說,從現在往前推年齡的年數,就得到了出生年份。比如,你現在20歲,可以用如下SQL得出出生的年月:SELECT DATEADD(year, -20, GETDATE)。
年齡:
年齡,指一個人從出生時起到計算時止生存的時間長度,通常用年歲來表示。年齡是一種具有生物學基礎的自然標志,一個人出生以後,隨著日月流逝,年齡也隨之增長,這是不可抗拒的自然規律。人在進行自身再生產的同時,也進行著年齡的再生產,它總是由不同年代出生的不同年齡的個人所組成。都與每個人的年齡密切相關。所以,正確計算年齡具有十分重要的意義。
F. SQL語句里怎麼獲得當前年份
sqlserver:
selectyear(getdate())
oracle:
selectto_char(sysdate,'yyyy')fromal;
mysql:
selectyear(now())
G. SQL按年份查詢語句怎麼寫
給你個思路:select shuaigeCount from ShuaiGeTable where test_date = to_date('2008-01-01', 'yyyy-mm-dd')
H. sql 如何取日期的年份
sqlserver中的是
year(欄位) --欄位須是datetime型的
或者提取當天的時間是 getdate()
之後再提取年份
I. sql 從日期中提取年份,按年份求和
思路:先准備好整個時間段的月份,然後關聯統計就行了;
--mssql:
WITHTMPAS
(SELECT'1994-1-1'ASBEGAN_DATE,'1994-12-1'ASEND_DATE,100.00ASJS,
1200.00ASZJS
UNIONALL
SELECT'1995-1-1','1995-5-1',100.00,500.00
UNIONALL
SELECT'1995-6-1','1998-3-1',100.00,34000.00
)
,TMP1AS(SELECTDATEADD(MONTH,T.NUMBER,T1.BEGAN_DATE)AST_MONTH
FROMMASTER..SPT_VALUEST,
(SELECTMIN(BEGAN_DATE)ASBEGAN_DATE,
DATEDIFF(MONTH,MIN(BEGAN_DATE),MAX(END_DATE))AST_MONTH
FROMTMP)T1
WHERET.NUMBER<=T1.T_MONTHAND
T.TYPE='P')
SELECTDATENAME(YEAR,T1.T_MONTH)ASYEARS,SUM(T.JS)ASZJS
FROMTMPT
INNERJOINTMP1T1
ONT1.T_MONTH>=CAST(T.BEGAN_DATEASDATE)AND
T1.T_MONTH<=CAST(T.END_DATEASDATE)
GROUPBYDATENAME(YEAR,T1.T_MONTH),T.BEGAN_DATE
ORDERBYDATENAME(YEAR,T1.T_MONTH);
--oracle:
WITHTMPAS
(SELECT'1994-1-1'ASBEGAN_DATE,'1994-12-1'ASEND_DATE,100.00ASJS,
1200.00ASZJS
FROMDUAL
UNIONALL
SELECT'1995-1-1','1995-5-1',100.00,500.00
FROMDUAL
UNIONALL
SELECT'1995-6-1','1998-3-1',100.00,34000.00
FROMDUAL),
TMP1AS
(SELECTADD_MONTHS(BEGAN_DATE,LEVEL-1)T_MONTH
FROM(SELECTTO_DATE(MIN(BEGAN_DATE),'YYYY-MM-DD')BEGAN_DATE,
TO_DATE(MAX(END_DATE),'YYYY-MM-DD')END_DATE
FROMTMP)
CONNECTBYLEVEL<=MONTHS_BETWEEN(END_DATE,BEGAN_DATE)+1)
SELECTTO_CHAR(T_MONTH,'YYYY')ASYEARS,SUM(T.JS)ASZJS
FROMTMPT
INNERJOINTMP1T1
ONT1.T_MONTH>=TO_DATE(T.BEGAN_DATE,'YYYY-MM-DD')AND
T1.T_MONTH<=TO_DATE(T.END_DATE,'YYYY-MM-DD')
GROUPBYTO_CHAR(T_MONTH,'YYYY'),T.BEGAN_DATE
ORDERBYTO_CHAR(T_MONTH,'YYYY')
J. sql 年份怎麼表示
Select co_code,Sum(qty) sum_qty
From fa_card
Where left(日期,4)='2009'
Group By co_code
Order By sum_qty Desc