我不熟悉SQL Server語法,但我想它會去是這樣的:SQL服務器:鑑於一年找到年以前的一切(含),並給予一年
$year = 2010;
$query = mssql_query("SELECT * FROM dbo.events
WHERE date BETWEEN $year AND $year-1");
我米只是不知道如何格式$年在這種情況下。
我不熟悉SQL Server語法,但我想它會去是這樣的:SQL服務器:鑑於一年找到年以前的一切(含),並給予一年
$year = 2010;
$query = mssql_query("SELECT * FROM dbo.events
WHERE date BETWEEN $year AND $year-1");
我米只是不知道如何格式$年在這種情況下。
你很近。假設date
列是datetime數據類型:
SELECT *
FROM dbo.events
WHERE DATEPART(year, date) BETWEEN $year-1 AND $year
SQL Server具有YEAR function,這甚至短於DATEPART寫:
select * from dbo.events where year(date) between $year-1 and $year
試試這個:
declare @year int
set @year=2010
select * from FROM dbo.events
WHERE cast(YEAR([date]) as int) <= @year
and cast(YEAR([date]) as int) >= @year-1
你試圖選擇只有一年?
這個工作對我來說:
$year = 2011;
select * from table where year(date_field) = $year