select * from mytest1 where myid like '24.0000'--------怎么会有这样的错误提示

xxxfffcn 2005-02-08 01:09:42
select * from mytest1 where myid like '24.0000'

Server: Msg 257, Level 16, State 3, Line 1
不允许从数据类型 money 到 varchar 的隐性转换。请使用 CONVERT 函数来运行此查询。

myid字段是money类型,咋回事??????????????????????????????????????????
...全文
232 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Delphi1985 2005-04-22
  • 打赏
  • 举报
回复
select * from mytest1 where cast(myid as varchar) like '24\.0000' escape '\'
试试
ljhxuer 2005-03-22
  • 打赏
  • 举报
回复
myid 是什么类型?是否和 '24.0000'类型匹配?
xxxfffcn 2005-02-17
  • 打赏
  • 举报
回复
why
foreveryday007 2005-02-17
  • 打赏
  • 举报
回复
为何有此种需求,太怪了点
scapple 2005-02-17
  • 打赏
  • 举报
回复
看书
xxxfffcn 2005-02-12
  • 打赏
  • 举报
回复
我知道了

因为cast(myid as varchar),这样经过cast后,myid 为在小数点后自动减两位,也就是24.0000经过cast后会变成24.00

有没有办法经过cast后,myid的长度不变呢???
zhao1210 2005-02-11
  • 打赏
  • 举报
回复
字符型嘛'24.0000'跟'24.00'当然不一样得
xxxfffcn 2005-02-11
  • 打赏
  • 举报
回复
select * from mytest1 where cast(myid as varchar) like '24.0000'
这样是可以的


但是
select * from mytest1 where cast(myid as varchar) = '24.0000'
这样就不能列出myid为24.0000的记录
如果改成select * from mytest1 where cast(myid as varchar) = '24.00'就可以把myid为24.0000的记录列出来,为什么???一定要少两个零才可以???
caobin518 2005-02-10
  • 打赏
  • 举报
回复
select * from mytest1 where myid='24.0000'
这样做就OK了。
DebugXP 2005-02-08
  • 打赏
  • 举报
回复
select * from mytest1 where cast(myid as varchar) like '24.0000'
DebugXP 2005-02-08
  • 打赏
  • 举报
回复
select * from mytest1 where myid = '24.0000'
Easysim 2005-02-08
  • 打赏
  • 举报
回复
你的24.0000是一个值,好像不可以用like查询吧
建议你用between试试
jacobran 2005-02-08
  • 打赏
  • 举报
回复
字符型的才能用LIKE进行模糊查询

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧