2013-03-28 31 views
0

在我的db中,我有一个格式为yyyy-mm-dd的日期,并且在我的php文件中,一年存储为一个字符串(2013年)。我想从我的表中选择数据库中的日期与存储的日期相匹配的行。SQL Server datepart - 只能按年匹配

我曾尝试使用DATEPART(),但它返回布尔假。

如何查询数据库并将php字符串与日期对象进行匹配。

回答

1

在SQL Server,你可以使用

SELECT * 
FROM mytable 
WHERE year(date) = $yearfromphp 

如果您的日期是不是作为一个日期时间字段存储,但随着yyyy-mm-dd你可以使用

SELECT * 
FROM mytable 
WHERE left(date,4) = $yearfromphp 
+0

因此,如果列名是CREATE_DATE ,我会使用WHERE year(create_date)= $ yearfromphp? – Jordan

+0

@Jordy假设'$ yearfromphp'正确地引用了PHP值,是的。我不熟悉PHP。 –

0
SELECT * FROM `table` WHERE `date_column` LIKE '$year%'; 
+0

你为什么要用LIKE来对抗SQL函数? –

+0

对不起,这是我的错误,我想把它作为列名。 –

+0

同样的问题。你为什么要使用LIKE而不是内置的SQL函数来查找实际的年份? –