Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL-Server:Sintaks salah di dekat kata kunci 'dengan'. Jika pernyataan ini adalah ekspresi tabel umum

Tambahkan beberapa titik koma:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghitung SQL Server ROW_NUMBER() OVER() untuk tabel turunan

  2. Ubah format waktu tanggal default pada satu database di SQL Server

  3. Pernyataan Kasus dalam SQL menggunakan Suka

  4. Pernyataan pembaruan dinamis dengan nama kolom variabel

  5. SQL Query Beberapa Kolom Menggunakan Distinct pada Satu Kolom Saja