CREATE PROCEDURE [dbo].[CellPM]
@CellName char(100)
AS
SELECT * FORM A
WHERE A.CellName like '%' + RTRIM(LTRIM(@CellName)) +'%'EXEC CELLPM 'KI'
@CellName char(100)
AS
SELECT * FORM A
WHERE A.CellName like '%' + RTRIM(LTRIM(@CellName)) +'%'EXEC CELLPM 'KI'
@CellName char(100)
AS
EXEC('SELECT * FORM A
WHERE A.CellName like''%'+ @CellName+'%'''EXEC CELLPM 'KI'
@CellName char(100)
AS
SELECT * FORM A
WHERE A.CellName like '%' + @CellName + '%'
1.里面有等于的数据但数据char型可能有空格,那样就不相等了
2.like一般要用 % 来匹配
@CellName char(100)
AS
SELECT * FORM A
WHERE A.CellName like @CellName EXEC CELLPM '%KI%' 没有查询到记录,实际数据库是存在记录的 请问高手是什么原因刚才写错了
% --匹配任意长度的字符串
_ --匹配一个字符
CREATE PROCEDURE [dbo].[CellPM]
--@CellName char(100)
@CellName varchar(100)
AS
SELECT * FORM A
WHERE A.CellName like @CellName EXEC CELLPM '%KI%'
直接执行下面的语句,有记录?
SELECT * FORM A WHERE A.CellName like '%KI%'
@CellName char(100)
AS
SELECT * FORM A
WHERE patindex('%' + @CellName + '%',A.CellName )>0
CREATE PROCEDURE [dbo].[CellPM]
@CellName varchar(100) --这里不能用char
AS 如果你用的是char(100),那么实际执行的时候,判断的不是包含KI的字段,而是KI+98个空格的字段