这样的查询如何做

handsomerun 2006-05-10 03:41:08
sybase中有一个字段,aaa ,类型是char(10)
 
  然后存储过程是

  create proc spsp (@paaaa char(15))
as
BEGIN
select * from table where aaa > @paaaa
END

我要实现这样的功能,可以吗??
  
 aaa中的记录都是数字窜,如1234566这样的,@paaaa也是的
  
 这样做可以吗,如果不行,要转,怎么转

 我现在有一个convert的函数,可以实现从char(15) -》numeric(15)的转换
 
 别人已经写好了

 只要调用convert(numeric(15),@paaaa) 就可以调用,返回的是数值
 
 这个存储过程我该如何做呢??
...全文
220 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxl_nova 2006-05-16
  • 打赏
  • 举报
回复
必须转换 否则10就比2小了
handsomerun 2006-05-15
  • 打赏
  • 举报
回复
顶噢
issgates 2006-05-11
  • 打赏
  • 举报
回复
顶:
cxl_nova(老豆丁) ( ) 信誉:100 2006-5-10 16:09:26 得分: 0
select * from table where convert(numeric(15),aaa ) > convert(numeric(15),@paaaa )

设计规范中强调应尽量将类型转换放置在查询条件中。



handsomerun 2006-05-11
  • 打赏
  • 举报
回复
再顶顶咯!!
handsomerun 2006-05-11
  • 打赏
  • 举报
回复
阿??
到底要不要转阿??
lzheng2001 2006-05-11
  • 打赏
  • 举报
回复
不用转换,可以直接比较的!
handsomerun 2006-05-11
  • 打赏
  • 举报
回复
好,谢谢楼上的,明白了
handsomerun 2006-05-10
  • 打赏
  • 举报
回复
谢谢楼上的两个大哥
select * from table where aaa > @paaaa

我想实现的是比较aaa 和 @paaaa,找出那些aaa的值大于@paaaa的记录

lzheng2001(1加1)
是不是直接比较就可以了啊??
select * from table where aaa > @paaaa


cxl_nova(老豆丁)
谢谢,俺去试试
cxl_nova 2006-05-10
  • 打赏
  • 举报
回复
select * from table where convert(numeric(15),aaa ) > convert(numeric(15),@paaaa )
lzheng2001 2006-05-10
  • 打赏
  • 举报
回复
select convert(numeric(15),aaa ) as 'No.' from table where aaa > @paaaa
handsomerun 2006-05-10
  • 打赏
  • 举报
回复
说错了

aaa ,类型也是char(15)

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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