关于SQL取值年月转换 从SQL表中取出值是201112(表示2011年12月)如何实现将这个值201112减去1个月后的年月,即:201111(表示2011年11月)?因为会跨年,所以需要将201112转换成年月减1,再转换成字符.不知道怎么操作,网上搜了一大圈都是年月日的转换,只好到这里请大家帮忙! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 declare @t varchar(6)set @t='201112'select convert(varchar(6),dateadd(m,-1,cast(left(@t,4)+'-'+right(@t,2)+'-01' as datetime)),112)/*201111*/ declare @t varchar(6)set @t='201101' --如果是201101 则结果是201012select convert(varchar(6),dateadd(m,-1,cast(left(@t,4)+'-'+right(@t,2)+'-01' as datetime)),112)/*201012*/ 新手关于查询问题 关于用SQL实现数据库还原的问题 32位sql中的数据可否顺利迁移到64位的sql中? 请问,这样数据库设计好吗? 需要一函数,通过传递的(表名参数)来返回相应的表 事务不起作用? 请教一个触发器? SQL如何求累计 如何用SQL7.0 EnterpriseManager 连接局域网内其他的SQL Server ?? j9988(j9988) 请进 统计记录的数量! 实现更新的问题、求教各位
declare @t varchar(6)
set @t='201112'
select
convert(varchar(6),dateadd(m,-1,cast(left(@t,4)+'-'+right(@t,2)+'-01' as datetime)),112)
/*
201111
*/
set @t='201101' --如果是201101 则结果是201012
select
convert(varchar(6),dateadd(m,-1,cast(left(@t,4)+'-'+right(@t,2)+'-01' as datetime)),112)
/*
201012
*/