我的SQL查询从具有可选排序字段的视图中选择一些列.基本上,我的视图将一些字段连接成一个地址字符串,所以我最终会得到类似的东西
123 Sesame Street Birdtown
Run Code Online (Sandbox Code Playgroud)
在地址栏中.我希望搜索不区分大小写(默认情况下不是这样),所以我尝试了这个:
SELECT * FROM BasicJobInfo WHERE UPPER(address) LIKE UPPER(searchString)
Run Code Online (Sandbox Code Playgroud)
searchString是我想要查找的地址.但是,MySQL似乎无法将地址转换为UpperCase - 我试过只是调用
SELECT UPPER(address) FROM BasicJobInfo
Run Code Online (Sandbox Code Playgroud)
但它根本不会改变这种情况.有什么想法可能是这样吗?
另外,关于我如何做一个不区分大小写的搜索的任何建议?
非常感谢.
Dav*_*ebb 14
根据字符串函数的MySQL参考手册页面:
应用于二进制字符串(BINARY,VARBINARY,BLOB)时,UPPER()无效.
是否有可能你的ADDRESS
列有一个BINARY
,VARBINARY
或BLOB
数据类型?
如果是,您将需要将二进制字符串转换为"普通"字符串.例如:
UPPER(CONVERT(ADDRESS USING latin1))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7356 次 |
最近记录: |