社区
C#
帖子详情
问个C#下一个数字跟表里数字比较的问题
fwqkey
2012-04-13 02:05:24
比如,我有一个int类型数字a,想遍历表B中某列全是数字的字段(字段名称比如为data),
要从表中这个字段中取出与数字a最相近的数字。
请问这个方法怎么写?
马上结贴,不含糊
...全文
167
16
打赏
收藏
问个C#下一个数字跟表里数字比较的问题
比如,我有一个int类型数字a,想遍历表B中某列全是数字的字段(字段名称比如为data), 要从表中这个字段中取出与数字a最相近的数字。 请问这个方法怎么写? 马上结贴,不含糊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fwqkey
2012-04-13
打赏
举报
回复
嘿嘿我是写linq[Quote=引用 15 楼 的回复:]
不 一定取第一个 可以多取些 可能会有多个记录的现象
[/Quote]
st200316
2012-04-13
打赏
举报
回复
不 一定取第一个 可以多取些 可能会有多个记录的现象
st200316
2012-04-13
打赏
举报
回复
直接就用SQL语句好了
st200316
2012-04-13
打赏
举报
回复
select top 1 aa from (SELECT abs([id]-10) as aa
FROM [ERP_moni].[dbo].[TMSWEBlog] )as tab order by tab.aa
fwqkey
2012-04-13
打赏
举报
回复
我再算算看
fwqkey
2012-04-13
打赏
举报
回复
都有道理啊。[Quote=引用 10 楼 的回复:]
引用 9 楼 的回复:
说真的,从各方面来看我都不推荐你的做法,先排序筛选.
肯定不如直接循环比对来快,排序算法也就是 O(log2n),循环只是 O(n)
当然,有一种情况除外,那就是结果的传输.
就是说全查询回来结果集太大.那么用排序的方法可以精简一些结果集,再配合Top使用的话那数据传输的代价就相当小了.
[/Quote]
cheng2005
2012-04-13
打赏
举报
回复
[Quote=引用 9 楼 的回复:]
说真的,从各方面来看我都不推荐你的做法,先排序筛选.
肯定不如直接循环比对来快,排序算法也就是 O(log2n),循环只是 O(n)
[/Quote]
当然,有一种情况除外,那就是结果的传输.
就是说全查询回来结果集太大.那么用排序的方法可以精简一些结果集,再配合Top使用的话那数据传输的代价就相当小了.
cheng2005
2012-04-13
打赏
举报
回复
说真的,从各方面来看我都不推荐你的做法,先排序筛选.
肯定不如直接循环比对来快,排序算法也就是 O(log2n),循环只是 O(n)
bdmh
2012-04-13
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
别误人子弟啊
你想找10的时候,你让9情何以堪.
[/Quote]
你说的对,那你就两个方向分别选出,比较这两个数
或者取绝对值最接近的
cheng2005
2012-04-13
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
select id from xxx where id >= i order by id
id为字段,i为你的数,这样选出来的第一个就是与你最接近的
[/Quote]
别误人子弟啊
你想找10的时候,你让9情何以堪.
bdmh
2012-04-13
打赏
举报
回复
select id from xxx where id >= i order by id
id为字段,i为你的数,这样选出来的第一个就是与你最接近的
cheng2005
2012-04-13
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
有没什么简单的方法去比较
引用 3 楼 的回复:
那就全取出来按照你的规则找一个不就完了.
[/Quote]
多简单的方法你不都是需要遍历一次,你不遍历怎么知道你找到的是最接近的.
当然,你可以在找到一个相等的数(你认为是最最最接近的)之后停止遍历.
fwqkey
2012-04-13
打赏
举报
回复
有没什么简单的方法去比较[Quote=引用 3 楼 的回复:]
那就全取出来按照你的规则找一个不就完了.
[/Quote]
cheng2005
2012-04-13
打赏
举报
回复
那就全取出来按照你的规则找一个不就完了.
fwqkey
2012-04-13
打赏
举报
回复
就是表中数字跟我提供的数字相差最小的啊。[Quote=引用 1 楼 的回复:]
先问问自己,相近的规则是什么,如果自己能回答,再来问
[/Quote]
bdmh
2012-04-13
打赏
举报
回复
先问问自己,相近的规则是什么,如果自己能回答,再来问
简单的网页内容采集器(
C#
)
比如说cnblogs的都是
数字
的,所以写了\d <br>建表帮助:用户指定要建立几个varchar型的,几个text型的,主要是放短数据和长数据啊。如果你的
表里
本来就有列,那就免啦。程序里面没有做验证哦。 <br> 网页...
【
C#
】简易学生记录批量生成器
设计
一个
批量学生记录生成器,实现默认自动生成1000个学生记录信息的功能。 整个版面设计分成左右两个部分。左边部分是依据不同选择的条件来编码完成指定数量(默认1000条)学生记录的生成和入库;右边部分则是利用...
vc++ 应用源码包_6
一个
简单的
数字
时钟程序,其中的date类派生于MFC CStatic 基类。 CIVStringSet_Demo.zip CIVStringSet_Source.zip 基于MFC和STL平台的字符串类,可以实现在快速字符串搜索。 enum_display_modes_demo.zip enum_...
vc++ 应用源码包_1
一个
简单的
数字
时钟程序,其中的date类派生于MFC CStatic 基类。 CIVStringSet_Demo.zip CIVStringSet_Source.zip 基于MFC和STL平台的字符串类,可以实现在快速字符串搜索。 enum_display_modes_demo.zip enum_...
vc++ 应用源码包_5
一个
简单的
数字
时钟程序,其中的date类派生于MFC CStatic 基类。 CIVStringSet_Demo.zip CIVStringSet_Source.zip 基于MFC和STL平台的字符串类,可以实现在快速字符串搜索。 enum_display_modes_demo.zip enum_...
C#
111,126
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章