http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 2655|回复: 2

[总群] [2013-01-29][羽毛]问一个SQL语句的写法

[复制链接]
发表于 2013-1-29 10:19:58 | 显示全部楼层 |阅读模式
羽毛()  10:06:12
问一个SQL语句
未命名.jpg
[重庆]版主-Eagle()  10:06:45

say
羽毛()  10:07:05
现在数据时这个样子,现在需要过滤出 Info_ID 为纯数字的 数据,并且用Info_ID 排序
要怎么写啊。。
卢建文<lujwsohu@sohu.com>  10:07:10
我手机上的
羽毛()  10:07:41
数字型 排序。
现在Info_ID  是 nvarchar(50)类型
&#8237;鼓噪的街舞()  10:08:16
conver(int,info_ID)?
羽毛()  10:08:47
[code=sql]Select top(1) [Info_ID]  From T_EnclosureInfo Where [Info_ID] not like 'W%' ORDER BY CONVERT(int, [Info_ID]) DESC[/code]
不行
鏇廈銘誋o()  10:12:02
not like '%[a-z]%'
枫叶()  10:12:04
这群有女生,这才是关键
[重庆]版主-Eagle()  10:12:22
,not like
卢建文<lujwsohu@sohu.com>  10:12:55
[code=sql]where isnumeric(info_id)>0 [/code]
羽毛()  10:14:07
[code=sql]where isnumeric(info_id)>0  [/code]
厉害, 这个可行
谢谢了
卢建文<lujwsohu@sohu.com>  10:15:44
不客气,上班啦,用手机打的,公司不让上qq
焰(380917661)  10:16:22
厉害。
[重庆]版主-Eagle()  10:16:26
学习了
焰(380917661)  10:16:30
很久没在群里活动了。
[重庆]版主-Eagle()  10:16:49
看来数据库这边的函数,有空了还得去多看看
羽毛()  10:16:54
为题千奇百怪 遇到一次就不会在遇到第二次恶劣
[成都]看看路过(421098735)  10:17:24
  [code=sql]CONVERT(int, [Info_ID])[/code]
这有字母的情况小时不能转化的好像
灰色调(349002323)  10:17:36
数据量大的时候这样写性能低
[成都]看看路过(421098735)  10:17:37
上传我记得我问了一下站长
羽毛()  10:17:39
是啊
先能解决问题,在考虑效率的问题
鏇廈銘誋o()  10:18:07
not like '%[a-z]%'这个是可用的
[重庆]版主-Eagle()  10:18:19
碉堡了!
鏇廈銘誋o()  10:18:38
你自己试试
羽毛()  10:19:11
不行,可以过滤出来,但是不能转换成数字排序
鏇廈銘誋o()  10:19:48
not like '%[a-z]%' ORDER BY [Info_ID] DESC
羽毛()  10:19:49
最后我要写成这样
[code=sql]Select top(1) info_id From T_EnclosureInfo Where isnumeric(info_id)>0  order by  CONVERT(int, [Info_ID]) DESC[/code]
我还要转换成数字型进行排序
鏇廈銘誋o()  10:19:48
[code=sql]not like '%[a-z]%' ORDER BY [Info_ID] DESC[/code]
羽毛()  10:19:49
最后我要写成这样
[code=sql]Select top(1) info_id From T_EnclosureInfo Where isnumeric(info_id)>0  order by  CONVERT(int, [Info_ID]) DESC[/code]
我还要转换成数字型进行排序
字段类型是 nvarchar(50) 的 必须转换后排序才符合要求


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2013-1-29 10:27:42 | 显示全部楼层
[成都]看看路过()  10:20:50
问一个问题w=什么数字了
你是想把数字提出来排序?、
Lucien()  10:21:19
[code=sql]rownumber() over(order by id )[/code]
放在前面
[重庆]版主-Eagle()  10:21:28
阿斯卡马 表
羽毛()  10:21:40
把不是W开头的内容 提取出来 数字类型排序
[重庆]版主-Eagle()  10:21:42
你们继续,我文官
我围观
Lucien()  10:21:50
cast(ID AS INT )
即可
[重庆]版主-Eagle()  10:22:03

Lucien()  10:23:45
你要做什么
需求出来
羽毛()  10:23:52
cast 同样的问题,问题在于两点,
一要过滤出 非W开头的数据,
二要将字段转换成数字类型
Kaelthas<gexiaoliang@vip.qq.com>  10:24:29
这还有效率么。。
Lucien()  10:24:35
[code=sql]like %W%
and cast(varchar(30) as  INT)[/code]
鏇廈銘誋o(1107952702)  10:24:42
[code=sql]Select top(1) [Info_ID]  From T_Enclosur你这查出来还是字符型的啊[/code]
Lucien()  10:24:42
不就可以了
羽毛()  10:24:52
对啊
所以要排序的时候转换成数字型等等
[code=sql]Select top(1) info_id From T_EnclosureInfo Where isnumeric(info_id)>0  order by  CONVERT(int, [Info_ID]) DESC[/code]
这样就行,虽然还不知道为什么
blanca 10:25:47
要转成数字的话直接字段 *1就自动会转换了
Lucien()  10:25:54
排序按索引排序
[code=sql]op 用rownumber() OVER()
代替
where ID=1
不就可以了,你要那一头就取哪一头[/code]
 楼主| 发表于 2013-1-29 10:30:39 | 显示全部楼层
[code=sql]Select top(1) info_id From T_EnclosureInfo Where isnumeric(info_id)>0  order by  CONVERT(int, [Info_ID]) DESC [/code]

这是最后的答案
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-4-30 06:02

© 2014-2021

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