VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 683|回复: 3

sql数据类型转换问题急啊!~

[复制链接]

2

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-1-9 11:40:01 | 显示全部楼层 |阅读模式
create proc Search_Data
@Detail varchar(255),
@Address varchar(255),
@DAMode int
as
if @Detail='' set @Detail=null
if @Address='' set @Address=null
if @DAMode='' set @DAMode=null
select * from DADevice
where Detail like '%'+isnull(@Detail,Detail)+'%'
and Address like '%'+isnull(@Address,Address)+'%'
and @DAMode like '%'+isnull(@DAMode,DAMode)+'%'

这个是存储过程可以生成,但是运行的时候错误是:
服务器: 消息 245,级别 16,状态 1,过程 Search_Data,行 9
将 varchar 值 '%' 转换为数据类型为 int 的列时发生语法错误。

那为老大帮帮忙啊,,我转不过来!~谢谢!~
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-18 21:30:01 | 显示全部楼层
declare @damode varchar(50)

......
and @DAMode like '%'+cast(isnull(@DAMode,DAMode) as varchar(50) )+'%'

回复

使用道具 举报

0

主题

88

帖子

55.00

积分

新手上路

Rank: 1

积分
55.00
发表于 2020-8-18 21:45:01 | 显示全部楼层
@DAMode int   这个定义的是整型的
回复

使用道具 举报

0

主题

88

帖子

55.00

积分

新手上路

Rank: 1

积分
55.00
发表于 2020-8-18 22:00:02 | 显示全部楼层
create proc Search_Data
        @Detail         varchar(255),
        @Address         varchar(255),
        @DAMode         varchar(255)
as
        if @Detail='' set @Detail=null
        if @Address='' set @Address=null
        if @DAMode='' set @DAMode=null
        select * from DADevice
        where Detail like '%'+isnull(@Detail,Detail)+'%'
        and Address like '%'+isnull(@Address,Address)+'%'
        and @DAMode like '%'+isnull(@DA        Mode,DAMode)+'%'
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表