将搜索从SQL Server转换为MySQL
我需要将这个从SQLServer转换成MySQL将搜索从SQL Server转换为MySQL,sql,mysql,sql-server,full-text-search,Sql,Mysql,Sql Server,Full Text Search,我需要将这个从SQLServer转换成MySQL IF IsNull(@SearchText, '') <> '' BEGIN SET @SearchText = '%' + @SearchText + '%' SELECT NewsID,DeptID,DeptName,Title,Details ,NewsDate,img FROM @tbSearchtextTb WHERE IsNull(Title,'')+IsNull(Details,'') LIKE @SearchTex
IF IsNull(@SearchText, '') <> '' BEGIN
SET @SearchText = '%' + @SearchText + '%'
SELECT NewsID,DeptID,DeptName,Title,Details ,NewsDate,img
FROM @tbSearchtextTb
WHERE IsNull(Title,'')+IsNull(Details,'') LIKE @SearchText END
还有很多其他的方法,但我找不到
因此,如果您知道,请让我知道,谢谢并致以最良好的问候。您可以在mysql中使用全文搜索
SQL Server版本也可以编写为:
IF @SearchText <> '' -- null is implicitly <> ''
BEGIN
SELECT NewsID,DeptID,DeptName,Title,Details ,NewsDate,img
FROM @tbSearchtextTb
WHERE IsNull(Title,'')+IsNull(Details,'') LIKE '%' + @SearchText + '%'
END
IsNull在MySQL中是IFNull。
在MySQL中使用Concat连接字符串
空值在concat中是隐式的
IF SearchText <> '' THEN # << again, this test is sufficient
SELECT
CatID,CatTitle,CatDescription,CatTitleAr,CatDescriptionAr,
PictureID,Published,DisplayOrder,CreatedOn
FROM tmp
WHERE Concat(CatTitle, CatDescription, CatTitleAr, CatDescriptionAr)
LIKE Concat('%',$SearchText,'%');
这是我一直在寻找的令人惊讶的答案。非常感谢你的帮助。
IF @SearchText <> '' -- null is implicitly <> ''
BEGIN
SELECT NewsID,DeptID,DeptName,Title,Details ,NewsDate,img
FROM @tbSearchtextTb
WHERE IsNull(Title,'')+IsNull(Details,'') LIKE '%' + @SearchText + '%'
END
IF SearchText <> '' THEN # << again, this test is sufficient
SELECT
CatID,CatTitle,CatDescription,CatTitleAr,CatDescriptionAr,
PictureID,Published,DisplayOrder,CreatedOn
FROM tmp
WHERE Concat(CatTitle, CatDescription, CatTitleAr, CatDescriptionAr)
LIKE Concat('%',$SearchText,'%');