加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 将datepart作为参数从表中发送到sql server中的DA

发布时间:2020-12-12 06:29:31 所属栏目:MsSql教程 来源:网络整理
导读:我必须在City表中更新City.Date,并且我在表格中有Interval和Period等列. Interval列包含yy,ww,dd,qq等值,Period列包含1,2,3等值. 我想尝试像这样更新City.Date: UPDATE City SET City.date = DATEADD(City.Interval,City.Period,City.date)WHERE CityId = 13
我必须在City表中更新City.Date,并且我在表格中有Interval和Period等列.

Interval列包含yy,ww,dd,qq等值,Period列包含1,2,3等值.

我想尝试像这样更新City.Date:

UPDATE City 
SET City.date = DATEADD(City.Interval,City.Period,City.date)
WHERE CityId = 13

它收到的错误如下:

City.Interval is not recognized DATEADD option.

如何使用City.Interval,City.Period和City.date更新City.Date?

解决方法

您无法参数化间隔位
UPDATE City 
SET date = CASE Interval
              WHEN 'yy' THEN DATEADD(yy,Period,date)
              WHEN 'ww' THEN DATEADD(ww,date)
              WHEN 'dd' THEN DATEADD(dd,date)
              WHEN 'qq' THEN DATEADD(qq,date)
              WHEN ...
           END
WHERE CityId =13

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读