| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1396 人关注过本帖
标题:[求助]这类麻烦如何解决?
只看楼主 加入收藏
roy78
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-8-12
收藏
 问题点数:0 回复次数:15 
[求助]这类麻烦如何解决?
图片附件: 游客没有浏览图片的权限,请 登录注册

select sum(出口规格*数量)/sum(出口重量) from table
但我要的是出口规格字段内容中第一个 * 号 左边的数值?怎么去截取? (比如,0.36 0.38 ......)
望高手给一个完整的SQL语句,学习!!!期待中..
搜索更多相关主题的帖子: 麻烦 
2007-08-23 19:16
卡卡艾
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:672
专家分:0
注 册:2007-4-3
收藏
得分:0 

用这一句可以实现你截取出口规格字段内容中第一个 * 号 左边的数值,
select substring(出口规格,0,5) from table
但是有个问题是:你要求和的话,需要转化一下,
因为substring(出口规格,0,5)不是数值型,不能用sum().


革命尚未成功,同志仍需努力-----+++
2007-08-23 20:25
roy78
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-8-12
收藏
得分:0 
那请问怎么转换呢?刚学不久,在基本语句,所以没有接触过这个,完整的写法应该是什么样的?请教教好吗?
2007-08-23 21:36
roy78
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-8-12
收藏
得分:0 
有人可以帮帮的吗?
2007-08-24 07:55
fengmumei
Rank: 2
等 级:论坛游民
威 望:2
帖 子:298
专家分:14
注 册:2006-9-16
收藏
得分:0 
出口规格的格式固定吗?或者说“出口规格”中的三个参数的长度是不是固定?

随缘不变,不变随缘
2007-08-24 07:55
卡卡艾
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:672
专家分:0
注 册:2007-4-3
收藏
得分:0 
好吧,我给你写出来:
首先截取:
select substring(出口规格,0,5) from table
然后转化数据类型:
select cast(substring(出口规格,0,5) as decimal(5,2)) from table1
这样的话就可以进行求和运算了,所以完整的语句如下:
select sum(cast(substring(出口规格,0,5) as decimal(5,2))) from table1 //这句就是你需要的.





革命尚未成功,同志仍需努力-----+++
2007-08-24 09:07
roy78
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-8-12
收藏
得分:0 
谢谢卡卡,谢谢fengmumei  另回答fengmumei的问题,规格中第一个*号左边的字符串不是固定的个数.我将把卡卡的语句用上来试试,感谢..
2007-08-24 09:33
roy78
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-8-12
收藏
得分:0 
如果出口规格第一个*号左边的字符数量不是固定的,这时应该怎么截取呢? 比如,0.3*1003*C 0.45*1003*C 0.587*1003*C 我就想截取第一个*号左边所有的数?
在线急期待....
2007-08-24 10:11
xinzheng
Rank: 1
等 级:新手上路
帖 子:193
专家分:0
注 册:2007-7-22
收藏
得分:0 
以下是引用roy78在2007-8-23 19:16:31的发言:

select sum(出口规格*数量)/sum(出口重量) from table
但我要的是出口规格字段内容中第一个 * 号 左边的数值?怎么去截取? (比如,0.36 0.38 ......)
望高手给一个完整的SQL语句,学习!!!期待中..

select substring(出口规格,0,charindex('*',出口规格)) from table

2007-08-24 11:41
aubblove
Rank: 1
等 级:新手上路
帖 子:117
专家分:0
注 册:2007-8-18
收藏
得分:0 
查找到'*'的起始位置应该就可以了,你试一下
select sum(cast(substring(出口规格,1,charindex('* ',出口规格)) as decimal(5,2))) from table1
2007-08-24 11:41
快速回复:[求助]这类麻烦如何解决?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026190 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved