sql查询有空格的字符串数据时解决方法
2017-11-14 10:15
260 查看
一般商品名都可能存在空格,如 $keywords = ‘金士顿(Kingston)dtG3 U盘 8G’,但是直接用sql模糊查询时是获取不到对应的数据的,要先做处理。
1、先将输入查询的字符串数据中的所有空格去掉,如PHP用str_replace(’ ‘,”,$keywords);
2、使用sql的replace函数,这样sql语句就变成 WHERE REPLACE(goods_name,’ ‘,”) LIKE ‘%金士顿(Kingston)dtG3U盘8G%’; (此时用户输入的数据已去除空格),这样就能查询出来了。
SQL中的replace函数
REPLACE
用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。
语法
REPLACE ( ‘string_expression1’ , ‘string_expression2’ , ‘string_expression3’ )
参数
‘string_expression1’
待搜索的字符串表达式。string_expression1 可以是字符数据或二进制数据。
‘string_expression2’
待查找的字符串表达式。string_expression2 可以是字符数据或二进制数据。
‘string_expression3’
替换用的字符串表达式。string_expression3 可以是字符数据或二进制数据。
返回类型
如果 string_expression(1、2 或 3)是支持的字符数据类型之一,则返回字符数据。如果 string_expression(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。
示例
下例用 xxx 替换 abcdefghi 中的字符串 cde。
SELECT REPLACE(‘abcdefghicde’,’cde’,’xxx’) GO
下面是结果集:
———— abxxxfghixxx (1 row(s) affected)
1、先将输入查询的字符串数据中的所有空格去掉,如PHP用str_replace(’ ‘,”,$keywords);
2、使用sql的replace函数,这样sql语句就变成 WHERE REPLACE(goods_name,’ ‘,”) LIKE ‘%金士顿(Kingston)dtG3U盘8G%’; (此时用户输入的数据已去除空格),这样就能查询出来了。
SQL中的replace函数
REPLACE
用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。
语法
REPLACE ( ‘string_expression1’ , ‘string_expression2’ , ‘string_expression3’ )
参数
‘string_expression1’
待搜索的字符串表达式。string_expression1 可以是字符数据或二进制数据。
‘string_expression2’
待查找的字符串表达式。string_expression2 可以是字符数据或二进制数据。
‘string_expression3’
替换用的字符串表达式。string_expression3 可以是字符数据或二进制数据。
返回类型
如果 string_expression(1、2 或 3)是支持的字符数据类型之一,则返回字符数据。如果 string_expression(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。
示例
下例用 xxx 替换 abcdefghi 中的字符串 cde。
SELECT REPLACE(‘abcdefghicde’,’cde’,’xxx’) GO
下面是结果集:
———— abxxxfghixxx (1 row(s) affected)
相关文章推荐
- 【SQL】字符串去空格解决方法
- PL/SQL Developer 使用中文条件查询时无数据的解决方法(转)
- SQLServerException:将截断字符串或二进制数据的解决方法
- linux sqlplus查询数据中文乱码解决方法记录
- Windows平台下SQL plus中查询到的中文数据是乱码解决方法
- SQL查询数据后在连成字符串方法
- SQL经典代码---分解字符串并查询相关数据
- 数据库时间段分组查询解决方法和数据转储方法
- 远程操作Unix上的Oracle数据库的方法解决查询数据时出现乱码的问题
- 将截断字符串或二进制数据,语句终止的解决方法
- asp读sql数据时出现乱码问题的解决方法
- Access模糊查询查不到数据的解决方法
- php连接sql server查询text字段丢失数据解决方法
- php mssql扩展SQL查询中文字段名解决方法
- ACCESS模糊查询like的解决方法&&SQL查询语句通配符问题
- 对错误:"将截断字符串或二进制数据。语句已终止。"的解决方法
- Access模糊查询查不到数据的解决方法
- 用SQL语句实现随机查询数据并不显示错误数据的方法
- MYSQL 不允许在子查询的同时删除原表数据的解决方法
- asp读sql数据时出现乱码问题的解决方法