如何让sqlserver 只返回年和月?

getdate()返回2008-6-1514:25:45如何才能做到只返回2008-6??2008-6和2008-10长度不一样的如何保证结果的准确性?... getdate()返回 2008-6-15 14:25:45
如何才能做到只返回 2008-6
??
2008-6

2008-10
长度不一样的 如何保证结果的准确性?
展开
 我来答
greystar_cn
2015-12-05 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
select convert(varchar(7),date_colName,121) from table
通过convert来对日期进行格式化,只返回年月部分。

CONVERT() 函数可以用不同的格式显示日期/时间数据。
基本语法如下:
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
如上121的格式对应为:yyyy-mm-dd hh:mi:ss.mmm(24h)
而上面定义的varchar(7),因此返回7个长度,即yyyy-mm
zhao7875259
2008-06-16 · TA获得超过149个赞
知道答主
回答量:143
采纳率:0%
帮助的人:0
展开全部
用left()截取呀 反正都已经知道要截取的位置了 先getdate()获取日期再截取指定长度不就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gloomyd
2008-06-15 · TA获得超过186个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:207万
展开全部
1 你可以使用convert函数转换 Convert(varchar(10),GetDate(),120)
不过这样返回的是YYYY-MM-DD的形式 然后再对它进行字符串的处理 获取它前面的7个字符 就ok啦! 当然 你可以考虑把它写成一个函数 方便其他地方的调用

2 你可以变换一下 获得它的年 月 可以使用Year()函数和Month() 函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JiangHuaTao
2008-06-15 · TA获得超过139个赞
知道答主
回答量:99
采纳率:0%
帮助的人:86.2万
展开全部
用这条sql语句即可:
select left(convert(varchar(10),getdate(),20),7)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友af82ee87c
2008-06-15 · TA获得超过5330个赞
知道小有建树答主
回答量:1612
采纳率:0%
帮助的人:1040万
展开全部
Year(getdate()) & "-" & Month(getdate())
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式