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