gpt4 book ai didi

SQL-Server:关键字 'with' 附近的语法不正确。如果这个语句是一个公用表表达式

转载 作者:行者123 更新时间:2023-12-01 23:07:45 25 4
gpt4 key购买 nike

create table #temp
(
pName Varchar(20),
DateBegin DateTime,
DateEnd DateTime
)

Insert Into #temp(pName, DateBegin, DateEnd)
Values('Player1', '01/04/2012', '01/05/2012')

Insert Into #temp(pName, DateBegin, DateEnd)
Values('Player2', '02/01/2012', '02/05/2012')


With DateRange(dt) As
(
Select Convert(Datetime, '01/01/2012')
UNion All
Select DateAdd(dd, 1, Dat.dt) From DateRange Dat Where Dat.dt < CONVERT(Datetime, '01/31/2012')
)

Select T.pName, Dt.dt from #temp T
Inner Join DateRange Dt on Dt.dt BETWEEN T.DateBegin and T.DateEnd

Drop Table #temp
<小时/>

问题出在以下代码行

With DateRange(dt) As

显示以下错误消息

Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.

最佳答案

添加一些分号:

create table #temp
(
pName Varchar(20),
DateBegin DateTime,
DateEnd DateTime
)

Insert Into #temp(pName, DateBegin, DateEnd)
Values('Player1', '01/04/2012', '01/05/2012')

Insert Into #temp(pName, DateBegin, DateEnd)
Values('Player2', '02/01/2012', '02/05/2012');

With DateRange(dt) As
(
Select Convert(Datetime, '01/01/2012')
UNion All
Select DateAdd(dd, 1, Dat.dt) From DateRange Dat Where Dat.dt < CONVERT(Datetime, '01/31/2012')
)

Select T.pName, Dt.dt from #temp T
Inner Join DateRange Dt on Dt.dt BETWEEN T.DateBegin and T.DateEnd;

Drop Table #temp

http://sqlfiddle.com/#!6/06e89

关于SQL-Server:关键字 'with' 附近的语法不正确。如果这个语句是一个公用表表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10792631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com