declare @searchValue varchar(50)
set @searchValue='%文%'select * from T_INC_TICKET
where ticket_id like @searchValue or summary like @searchValue 我要模糊查询的记录如下:
Ticket_id Summary
000000000000003 word文档无法保存问题:
我用“文”,能模糊查询出记录;用“文档”或者“档”无法查询出记录。还有条Summary记录是“流程测试专用事件模版”,然后就模糊查询“流程”或者“事件”都能查询出记录,查询“测试”、“模板”、“测试专用”都不能查询到记录。以前都没碰到过这种问题,刚才程序模糊查询不出准确的数据,我就直接在数据库里走这些SQL语句,还是一样的,中文的模糊查询有错。只有个别字的模糊查询有用。
set @searchValue='%文%'select * from T_INC_TICKET
where ticket_id like @searchValue or summary like @searchValue 我要模糊查询的记录如下:
Ticket_id Summary
000000000000003 word文档无法保存问题:
我用“文”,能模糊查询出记录;用“文档”或者“档”无法查询出记录。还有条Summary记录是“流程测试专用事件模版”,然后就模糊查询“流程”或者“事件”都能查询出记录,查询“测试”、“模板”、“测试专用”都不能查询到记录。以前都没碰到过这种问题,刚才程序模糊查询不出准确的数据,我就直接在数据库里走这些SQL语句,还是一样的,中文的模糊查询有错。只有个别字的模糊查询有用。
set @searchValue=N'%文%'select * from T_INC_TICKET
where ticket_id like @searchValue or summary like @searchValue
set @searchValue=N'%文%'
---sql2000
exec('select * from T_INC_TICKET where ticket_id like ''%'+@searchValue+'%'' or summary like ''%'+@searchValue+'%''')
3290547 [http-8080-6] ERROR util.JDBCExceptionReporter - [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]第 1 行: '%事件%' 附近有语法错误。
3290547 [http-8080-6] WARN util.JDBCExceptionReporter - SQL Error: 16945, SQLState: HY000麻烦各位大侠,再看看,Java里头加这个数据库的N,是怎么加的啊?
这个是java代码,java里的hibernate的代码。
数据库的编码不对, 我改下数据库的编码
ALTER DATABASE [数据库名] COLLATE Chinese_PRC_CI_AS然后就正常了。
前面的“N”也可以不用加了。