用SQL向以变量定义列名的表中插入数据时,怎么取得列名

用SQL向以变量定义列名的表中插入数据时,怎么取得列名,第1张

很简单,所有列名都不写就行了。

insert into #xsmx1

select customer,month1_quantity,month2_quantity,month3_quantity,

avg_quantity,wait_quantity from #xsmx

如果非要写列名,用拼接sql的方法吧,

exec('insert into #xsmx1 (客户名称,['+@month1+'],['+@month2+'],本月已发,月平均用量,本月待发量) select customer,month1_quantity,month2_quantity,month3_quantity,

avg_quantity,wait_quantity from #xsmx')

需要写存储过程拼sql。

create proc P

@YearMonth varchar(6) --年月

as

begin

Declare @SDate DateTime-本月第一天

Declare @EDate DateTime--本月最后一天

Declare @SumDate int --总天数

Declare @i int

Set @SDate=CAST(@YearMonth+'01' AS Datetime)

--在本月第一天的基础上加1个月 然后减一天 就是本月最后一天

Set @EDate=DateAdd(M,1,@SDate)-1

--计算出差一天数

Set @SumDate=DATEDIFF(D,@SDate,@EDate)

set @i = 0

while @i<@SumDate

begin

--凑sql 我就不写详细了 列名就是 @SDate+i

end

end

以上就是关于用SQL向以变量定义列名的表中插入数据时,怎么取得列名全部的内容,包括:用SQL向以变量定义列名的表中插入数据时,怎么取得列名、sql 获取某一月份内所有日期 作为列名、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9739093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存