sql查询语句中的where条件里有long类型字段时,怎么写查询条件

xiekf 2005-01-17 12:40:11
我的表里有一个字段是long类型的,在sql语句执行时,总是说数据类型不一致,应该怎么写才能通过?
select * from table where colname='1';
colname是long类型字段
...全文
1430 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
'Alan 2005-01-17
  • 打赏
  • 举报
回复
select中的Where中不能有long型
ORARichard 2005-01-17
  • 打赏
  • 举报
回复
colname='1',既然楼主的long字段能进行这种操作,那为什么要用long型,改成varchar2不是更好。
用long是为了存储长度超过4000的文字而设定的.楼主总不会要比较长度超过4000的字符串吧,这样的效率是不能忍受的
lialin 2005-01-17
  • 打赏
  • 举报
回复
这个类型处理起来就是比较麻烦,你要用个内部的函数处理一下。
progrose 2005-01-17
  • 打赏
  • 举报
回复
select中的Where中不能有long型的字段
baojianjun 2005-01-17
  • 打赏
  • 举报
回复
Long数据类型的限制:
l select中可以用long;
l update中可以用select子句;
l insert中可以用Valus子句;
l 每个表只能允许一个long列;
l long列不能列出完整性约束(null、not null除外);
l long列不能被索引;
l 过程或存储函数不能接收long型函数;
l 存储函数不能返回long型值。


long 目前不能出现在以下情况中:
l select中的Where,Group by,order by,Connect by,distinct;
l 不能对long列作substr,instr;
l 表达式或条件;
l 子查询或集合中不能用long;
l Create table ...as select 中不能用long;
yown 2005-01-17
  • 打赏
  • 举报
回复
colname='1'
左边是Long类型,但右边是字符类型,当然不行

--试试
select * from table where TO_CHAR(colname)='1';

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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