我正在尝试编写一个Select语句,我可以看到一列是否与另一列相似.
tblNames
ID FullName FirstName
1 Mr. John Doe, CEO John
2 Mr. Jake Doe, Exec Jake
3 Mrs. Betty Smith, Chair Jill
Run Code Online (Sandbox Code Playgroud)
查询应该返回:
3 | Mrs.Betty Smith, Chair | Jill
Run Code Online (Sandbox Code Playgroud)
然而,我只返回表中的每一行:
SELECT ID, FullName, FirstName
FROM tblNames
WHERE '%' + FirstName + '%' not like Fullname
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
jzd*_*jzd 30
反转在哪里,到这样的事情:
Fullname not like '%' + FirstName + '%'
Run Code Online (Sandbox Code Playgroud)
p.c*_*ell 11
试试这个:
SELECT * FROM tblNames
WHERE ISNULL( CHARINDEX (FirstName , FullName),0) = 0
Run Code Online (Sandbox Code Playgroud)
CHARINDEX比LIKE子句更快(更高性能),因为它不必考虑通配符.上面包含少量行的示例数据不会显示性能优势,但是当数百万行时,CHARINDEX会表现得更好.
小智 5
这为我工作:
SELECT *
FROM `table`
WHERE `col1` NOT LIKE CONCAT('%', `col2`, '%')
Run Code Online (Sandbox Code Playgroud)
在这里找到它:http : //www.edmondscommerce.co.uk/mysql/compare-two-columns-in-mysql/
不知何故,它只能与concat函数(?)一起正常工作。
| 归档时间: |
|
| 查看次数: |
62947 次 |
| 最近记录: |