year函数sql
Ⅰ sql语句查询在03年以后的出版日期和出版书籍,(用year函数求出来)
select * from table1 where year(出版日期)>2003
Ⅱ sql中日期函数
这样就行了,注意你cast成nvarchar类型,那么‘年’这种字符串前一定要加N,:
declare @Year int
declare @Month int
select @Year =2010
select @Month =12
select
case when @Month = 12 then cast(@Year+1 as nvarchar)+N'年'+cast(@Month-11 as nvarchar)+N'月01'
else
cast(@Year as nvarchar)+N'年'+cast(@Month+1 as nvarchar)+N'月01' end+N'至'+
case when @Month = 12 then cast(@Year+1 as nvarchar)+N'年'+cast(@Month-11 as nvarchar)+N'月30'
else
cast(@Year as nvarchar)+N'年'+cast( @Month+1 as nvarchar)+N'月30' end
我也不知道你到底想要什么东西,如果用datediff的话得到的就是一个天数,也没有必要加上年月日了:
declare @Year int
declare @Month int
select @Year =2010
select @Month =4
select
datediff
(day,
case when @Month = 12 then cast(@Year+1 as nvarchar)+' '+cast(@Month-11 as nvarchar)+' 01'
else
cast(@Year as nvarchar)+' '+cast(@Month+1 as nvarchar)+' 01' end,
cast(@Year as nvarchar)+' '+cast( @Month as nvarchar)+' 01' )
Ⅲ SQL server中可以用YEAR函数来定义一个范围的时间吗
不懂你什么意思
如果要定义时间范围的话
可以在SELECT语句后面定义
where
YEAR(@a)>=X1
and
YEAR(@a)<=X2
不知道是不是你想的结果
Ⅳ 用sql写函数,给定一个日期返回其为该年的第几天
#include<stdio.h>int
main(void){
int
year,month,day;
int
day_of_year(int
year,int
month,int
day);
while(scanf("%d%d%d",&year,&month,&day)!=eof){
printf("%d",day_of_year(year,month,day));
}
return
0;}
int
day_of_year(int
year,int
month,int
day){
int
k,leap,d=day;
//d没初始化
int
tab[2][13]={
{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}
};
//二维数组初始化不正确
leap=(year%4==0&&year%100!=0||year%400==0);
for(k=1;k<month;k++)
//逻辑错误,当前月只有day天,配合d=day,这里要去掉当前月
d=d+tab[leap][k];
return
d;}int
day_of_year2(int
year,int
month,int
day)
//稍微简化一下{
int
k,leap,d=day;
int
tab[12]={31,28,31,30,31,30,31,31,30,31,30,31};
leap=(year%4==0&&year%100!=0||year%400==0);
for(k=0;k<month-1;k++)
d=d+tab[k];
if(leap==1&&month>2)d++;
//闰年并且输入月份大于2,加1天
return
d;}
Ⅳ SQL中函数YEAR 的问题
SQL
server中的YEAR函数的用法是:
YEAR(expression),可以取得expression的年份值。
你可以用YEAR函数取得系统时间,再用这个值减去年龄,再加一就可以了。
这是ORACLE中的用法:
select
(extract(year
from
sysdate)-s.age+1)
from
student
s
这是sql
server中的用法
select
(year(getdate())-s.age+1)
from
student
s
Ⅵ SQL时间函数getdate()是指本机还是服务器上的时间
SQL时间函数getdate()是指数据库所在服务器上的系统时间。
SQL Server日期时间函数:
1、获取当前日期GetDate
getdate()函数以datetime数据类型的格式返回当前SQLServer服务器所在计算机的日期和时间。其语法格式为getdate()。返回值舍入到最近的秒小数部分,精度为.333秒数据库十七偏移量不包含在内。
示例:select getdate() --输出 2013-03-09 15:16:00.570
2、GetUTCDate 获取UTC时间值
select GETUTCDATE() -- 2013-06-18 08:02:53.253
这个获取到的是UTC时间。
3、获取年度信息YEAR
year函数以int数据类型的格式返回特定日期的年度信息。其语法格式为YEAR(date数据)。其中的date数据时一个可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、用户定义的变量或字符串文字。
示例:select year(getdate()) --输出 2013
4、获取月份信息MONTH
month函数以int数据类型的格式返回特定日期的月份信息。其语法格式为month(date数据)。其中的date数据时一个可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、用户定义的变量或字符串文字。
示例:select month(getdate()) --输出 3
5、获取天数信息day
day函数以int数据类型的格式返回特定日期的天数信息。其语法格式为day(date数据)。其中的date数据时一个可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、用户定义的变量或字符串文字。
示例:select day(getdate()) --输出 9
Ⅶ SQL中GROUP BY语句后面可以跟YEAR()函数吗
可以。但是select
子句中,也必须有year()
函数。
示例:
select
year(
字段名)
from
TableName
group
by
year(字段名)
Ⅷ oracle里的哪个函数等于sql的year函数急
sql中的year函数即取日期类型年份,在oracle中可用to_char函数。
sql中取当前时间的年份:
selectyear(getdate())
结果: