有人可以提供一些帮助.我有一个标准的SQL命令,如下所示
$SQL = "SELECT * FROM table WHERE Date > :FromDate AND Date < :EndDate";
这可以正常工作,但返回不相关的行.我必须利用php循环并使用if语句通过它们来过滤出所需的记录.
$col1 = $col1["colVal"]
if(strstr($col1, "ABC") !== FALSE) {
// can be used on page
}
有没有办法在sql中执行此操作,所以我只返回所需的结果?我需要它来检查col值字符串仅包含首字母作为ABC.以下sql可以工作吗?
$string = "ABC";
$SQL = "
SELECT * FROM table
WHERE
Date > :FromDate
AND Date < :EndDate
AND col1 LIKE $string
";
解决方法:
您以与substr相同的方式使用strstr,其中字符串包含ABC.
SELECT *
FROM table
WHERE Date > :FromDate
AND Date < :EndDate
AND col1 LIKE '%$string%';
如果要搜索首字符为ABC的字符串,请使用:
SELECT *
FROM table
WHERE Date > :FromDate
AND Date < :EndDate
AND col1 LIKE '$string%';
但是,stristr完全是另外一个故事.
标签:sql,mysql,php
来源: https://codeday.me/bug/20191122/2063203.html