日期:2014-05-19  浏览次数:20437 次

急,一个MM问我的题,我想不出来,大家来帮帮忙!
班上一个同学问我一个数据库方面的题目,就是如何或得一个DATATIME类型的字段的年和月,这个自段是数据库自动获取的日期(用getdate()),比如一条记录里这个字段的值是:2007-05-01     现在我要用条查询语句获得   2007-05   我用   select   left(date,10)   from   tb_sell   可是得出的结果是:05     1   2007   ,郁闷!我告诉她直接在后台里就可以截取,可她偏要在数据库里用一条查询语句!我想应该也不是很难的,就是想不起该用哪个函数,各位高手帮帮我吧!否则交不了差!


------解决方案--------------------
.ToString( "xxx-xx-xx ")
------解决方案--------------------
year(getdate())+ '- '+month(getdate())
------解决方案--------------------
如果硬要这么做,只有用最傻的办法啦,英雄难过美人关啊!
select substring(cast(date as varchar),7,4)+ '- '+substring(cast(date as varchar),5,2)as data from 表名
------解决方案--------------------
select substring(cast(date as varchar),7,4)+ '- '+substring(cast(date as varchar),5,2)as data from 表名

可行..
------解决方案--------------------
转换成 varchar 再截取 或者 拼接 year 和 month 不足位补0
------解决方案--------------------
conver(nvarchar(7),date ,20)
------解决方案--------------------
conver(nvarchar(7),date ,20)

------解决方案--------------------
select cast(year(字段) as varchar)+ '- '+cast(month(字段) as varchar) from table
------解决方案--------------------
+号运算术,可用于两个数的相加和字条串的相连,而把日期只能年或者月的时候,比如:200-05-01,取的年是INT型,所以将其转化为nvarchar然后用+相连就是你想要的结果了
还有如果不想这样做,还可以在绑定的时候只取年月
{0:yyyymm}
------解决方案--------------------
select year(getdate())+ '- 'month(getdate()) as Time
from table
------解决方案--------------------
?
select year(getdate())+ '- 'month(getdate()) as Time
from table
------解决方案--------------------
year(getdate())+ '- '+month(getdate())
接分.