sql建立视图时候,基础表中字段是vc类型的,我如何拆分这个数据呢?

sql建立视图时候,有2个字段要求是数值上限和数值下限,但是在基础表中,这个字段是vc类型的,表示数值范围,比如1.1-20.2(不一定是这个值,主要看基础表里的数据的)... sql建立视图时候,有2个字段要求是数值上限和数值下限,但是在基础表中,这个字段是vc类型的,表示数值范围,比如1.1-20.2(不一定是这个值,主要看基础表里的数据的),我如何取-之前和之后的数据放入视图的上限和下限字段中呢??请教各位大侠了,谢谢~~ 展开
 我来答
moonshijunli
2014-06-04 · 超过15用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:31.5万
展开全部
首先你要保证基础表中 那个字段的值格式是相同的,如“1.1-20.2”、“5.3-11.2”;也就是说要有相同的分隔符;
其次,你要注意如果字段中出现字符串,如“1.1e-20.2”,这样的格式你是无法转换的;
最后,我不知道楼主为什么要把那个范围值设置到一个字段,不用两个分开;用的时候SQL组合一下,完全也可以达到效果的。
追问
1.1e-20.2不会出现这个情况的,数值之间都是-分开的,我也想字段分开,可惜前辈们没想得这么远啊
badkano
推荐于2016-03-17 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885365
团长

向TA提问 私信TA
展开全部

参考下列写法,sqlserver的

select substring('1.1-20.2',1,charindex('-','1.1-20.2')-1),
substring('1.1-20.2',charindex('-','1.1-20.2')+1,len('1.1-20.2')-charindex('-','1.1-20.2'))

你可以把1.1-20.2换成你的字段名,比如

select substring(字段名,1,charindex('-',字段名)-1),
substring(字段名,charindex('-',字段名)+1,len(字段名)-charindex('-',字段名)) from 表名

主要用到两个函数,一个是charindex,这个是算某个字符在字符串中位置的函数

另一个是substring,是截取字符串中某一片段的函数,具体你可以自己查查,了解用法

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式