在MS SQL2005中,创建带有通配符的存储过程中,如果通配符对应在查询表字段是INT类型,那么在创建存储过程时,对应通配符的参数必须声明为“字符串类型”。
例如:
创建一个表。
CREATE TABLE students
(id INT,
[naem] VARCHAR(10),
sex VARCHAR(2),
adress VARCHAR(25)
)
插入三行数据
INSERT INTO students
VALUES('2013001','张三','男','上海')
INSERT INTO students
VALUES('2013002','李四','女','北京')
INSERT INTO students
VALUES('2013003','王五','男','广州')
创建带有通配符的存储过程
CREATE PROC S
@id VARCHAR(10)='%'/* 参数如果声明为INT类型,会报错:从数据类型 varchar 转换为int时出错*/
AS
SELECT * FROM students
WHERE id like @id
转载于:https://blog.51cto.com/321906/1340694