0

我有一个使用 MySQL 数据库的数据类型为 varchar 的列。假设保存在此列中的 Web 表单的值为:2/4/2013

我的搜索查询如下:

SELECT * FROM tbl WHERE colValue LIKE %2/4/2013%

但是,它正在崩溃。对于任何其他字符串,我都会得到正确的结果。但是,是正斜杠导致它崩溃吗?如何解决这个问题?

问候 !

4

3 回答 3

4

既然你想选择特定的日期,为什么不使用=

SELECT * FROM tbl WHERE colValue = '2/4/2013'

但是如果列的数据类型是DATEor DATETIME,尽管mysql会自动转换它,但使用正确的格式,

SELECT * FROM tbl WHERE colValue = '2013-02-04'
于 2013-02-04T08:48:40.270 回答
1

对于使用类似运算符,您可以使用 DATEPART() 函数...

select * from tbl
where (DATEPART(yy, colValue) = 2013
AND DATEPART(mm, colValue) = 04
AND DATEPART(dd, colValue) = 02)

像这样你可以在 SQL 中做

于 2013-02-04T08:51:48.407 回答
0

对 / 使用转义字符。mysql 转义字符是\。

于 2013-02-04T08:50:57.510 回答