Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么我的派生列表达式没有给出我期望的结果?

为什么我的派生列表达式没有给出我期望的结果?
EN

Stack Overflow用户
提问于 2014-05-29 10:22:47
回答 2查看 173关注 0票数 0

我正在从excel表中提取数据,并将其转换并加载到Sql Server 2012中。我试图在某个列Derived Column上执行'RegistrationNumber'转换。

'RegistrationNumber'采用以下格式,并不是所有固定长度:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
###/####
###/####
###/####
###/####
###/####
###/####
X###/####
X###/####
X###/####
X###/####
X###/####
X###/####
X###/####
X###/####
X###/####
X###/####
X###/####
X###/####
X###/####
X###/####
X###/####
X###/AB
XYZ##/###
XYZ##/###
ABS###/####
ABCSEDG###FG/####

我需要拿LEFT of '/',在SQL Server上放一个专栏,我必须把'/'RIGHT放到SQL server中的另一个专栏中。

以下是我在derived column转换中的表达式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Derived Column: RegistrationNumber
Derived Column:  Replace 'RegistrationNumber'
Expression: LEFT([RegistationNumber],FINDSTRING([RegistrationNumber],"/",1) - 1)
Data Type: Unicode string [DT_WSTR]
Length:  255

Derived Column: Copy of RegistrationNumber
Derived Column:  Replace 'Copy of RegistrationNumber'
Expression: RIGHT([Copy of RegistrationNumber],FINDSTRING([Copy of   RegistrationNumber],"/",1) - 1)
Data Type: Unicode string [DT_WSTR]
Length:  255

对于大多数的结果,它做了我想要的。然而,其中一些我得到的结果如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/####
##/AA
#/####
A###XY/####

RIGHT表达式的结果应该如下所示:

####

注意:LEFT表达式产生了所有有效的结果

以下是我的Task流:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Excel Source

Copy ColumnDerived ColumnOle DB Command

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-29 10:50:41

左是2012年SSIS发行版的“新”,所以我为2005/2008年度的人们提供了使用子字符串的公式

  • SlashPosition = FINDSTRING(RegistrationNumber,"/",1)
  • 左=左(RegistrationNumber,(SlashPosition - 1))
  • SUBLEFT =SUBSTRING(登记编号,1,(SlashPosition - 1))
  • 右=右(RegistrationNumber,LEN(RegistrationNumber) - (SlashPosition))
  • SUBRIGHT = SUBSTRING(RegistrationNumber,(SlashPosition + 1),LEN(RegistrationNumber) - SlashPosition)

在它的核心,您的右调用是切分最后一个N字符,但您的传球长度是位置的斜杠被发现。相反,该位置是字符串的长度,减去斜杠的位置。

至于Excel . CozyRoc和其他任何东西。这将是基于意见的,但我发现,当我能够以平面文件格式(分隔或固定宽度)获取数据时,我获得了最好的成功。假设这不是一个选项,那么我通常更喜欢使用Excel编写查询,而不是使用本机表。

票数 1
EN

Stack Overflow用户

发布于 2014-05-29 10:51:07

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
RIGHT([Copy of RegistrationNumber],FINDSTRING([Copy of RegistrationNumber],"/",1) - 1)

不正确地获得斜杠字符的字符串正确。

例如,对于X###/AB,函数右侧应该复制2个字符。但是FINDSTRING返回5,减去1,得到值4。因此,右返回X###/AB中的最后4个字符。

因此,您需要从字符串长度减去斜杠字符的位置,才能得到正确的结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23940298

复制
相关文章
ubuntu下使用pip卸载包时出现Cannot uninstall scipy
ubuntu系统下使用pip uninstall scipy命令卸载包时,遇到报错信息为:
全栈程序员站长
2022/11/03
9550
【python】如何使用pip安装、卸载包
1、在安装python的时候要把pip勾选上(默认安装方式已经为你勾选好了)。这样你就已经安装了pip。
全栈程序员站长
2022/11/03
4.8K0
【python】如何使用pip安装、卸载包
怎样安装pip_pip 安装本地python包
网上有各种方法安装pip,针对不同的系统方法还不一样,最后发现还是下面这种方法最简单,直接了当干脆方便,适用于Windows和Linux。
全栈程序员站长
2022/11/17
2.9K0
怎样安装pip_pip 安装本地python包
python相关包无法pip时 原
通常可以直接google “XXX for python3.5”,或者在github中找到对应的python3.5的项目,将对应的.py文件添加到python的lib目录中。
晓歌
2018/08/15
7610
使用pip安装python包的时候会多次安装依赖包
问题描述:我使用的是ubuntu18系统自动的py2.7还有pip9,还算是方便,在安装以前的基于pytho的软件的时候发现使用pip安装python包的时候会多次安装依赖包,虽然我设置了豆瓣镜像,安装速度非常快,但是这样重复安装基础包是不是有点浪费呢? 比如使用代码: pip install --index-url https://pypi.douban.com/simple cnvkit pip install --index-url https://pypi.douban.com/simple HTS
生信技能树
2018/07/27
2.7K0
多python环境下使用pip安装包
笔记本上安装了2.7和3.5两个版本的python,在使用3.5版本的pip安装keras时出现了failed to create process错误。解决方法如下: 1.由于我在环境变量中同时配置了2.7和3.5的路径,所以我可以直接在命令行下执行python3来启动3.5版本的python; 2.通过python3来启动pip,在命令行中输入python3 -m pip install keras,成功安装上keras。
py3study
2020/01/08
2K0
Python使用pip安装/卸载包「建议收藏」
进入某一个版本的下载页面,根据自己的需要下载。比如红框内:Windows32位版本安装包。(executable installer 即可执行文件”.exe”)
全栈程序员站长
2022/11/03
1.2K0
Python使用pip安装/卸载包「建议收藏」
pycharm安装包出现的错误
1,先装python,在装pycharm,将python的路径添加到电脑路径的path中 2,re是python自带的库,不需要再装了 3,不放在虚拟环境中,创建项目,导入包的时候都要记得放在实际的python…exe中 4,当出现不是正确版本的pip时 (1)可能是pip版本过低,去cmd下载 (2)网络太慢,在这里我是通过 pip install ddt -i http://pypi.douban.com/simple/ –trusted-host pypi.douban.com 豆瓣源下载的,很快 将ddt改为我需要的包即可
全栈程序员站长
2022/08/29
1.7K0
pip怎么卸载安装包_python pip升级
pip uninstall -r requirements.txt -y 如果不加最后的-y就需要一个一个包输入y确认卸载
全栈程序员站长
2022/11/02
2.1K0
pycharm使用pip安装模块时提示: No module named pip
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/174545.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
1.2K0
使用pip安装模块时,提示MemoryError
在使用pip安装依赖模块时,报错如下: 图片 解决方法: 添加 --no-cache-dir参数 pip3 --no-cache-dir install -r *** 安装时遇到的其他问题: 设置python源命令:pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 提示没有config参数; 解决办法:升级pippip3 install -U pip pip install --upgrade pip 提示:E
JQ实验室
2022/11/18
1.6K0
python3.X 使用pip 离线安装whl包
机器上python2,3混用的问题,参考: http://blog.csdn.net/wangyaninglm/article/details/53312606 第二小节:不同版本python混用(官方用法)其实主要就是前面加上py -3(或)2
流川疯
2019/01/17
3.6K0
Python 通过命令行安装包的时候 pip 提示错误
出现上面的问题的原因大部分情况是因为在 Python 安装的时候没有将 Python 的 Path 添加到环境变量中去。
HoneyMoose
2021/03/11
1.3K0
Python 通过命令行安装包的时候 pip 提示错误
使用pip来管理python包
使用pip来管理python包 2015/12/8 一、安装pip 【Linux】 yum install python-pip 【Win】 安装python时,默认已经安装pip 二、使用pip安装包 【Linux】 [root@tvm-test ~]# pip install Django==1.6.0                Collecting Django==1.6.0 /usr/lib/python2.6/site-packages/pip/_vendor/requests/packa
py3study
2020/01/08
6610
pip下使用代理安装包
一句话代码 pip install --proxy x.x.x.x:8080 requsets pip install --proxy x.x.x.x:8080 --upgrade pip 帮助文件 pip -h --proxy <proxy> Specify a proxy in the form [user:passwd@]proxy.server:port.
老高的技术博客
2022/12/28
1.1K0
Python 镜像安装pip的包 原
解决方法:到 http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud 页面下载所需的wordcloud模块的whl文件
晓歌
2018/08/15
2.4K0
Python 镜像安装pip的包
                                                                            原
[883]python安装包出现Retrying
问题:安装包出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError
周小董
2020/08/03
5.9K0
Python安装管理 Pycharm安装使用 pip使用[通俗易懂]
一、Python环境管理(mac系统) 1、安装:   下载python安装包:https://www.python.org/   Python安装文档(windwos系统): https://testing-studio.com/t/topic/57/4 2、查看安装结果 终端中输入 python (对于Mac和Linux系统会本身自带一个较低的Python版本)   mac系统的安装Python的默认路径是:/usr/local/bin/python3.8   设置软链接 ln -f /usr/local/bin/python3.8 /usr/local/bin/python (这时就指定了对应Python的版本,配置环境变量) 3、配置环境变量   查看环境变量文件(PATH)   查看环境变量的文件 vim ~/.bash_profile。输入export PATH=PATH:/usr/local/bin并保存 二、Pycharm 安装:http://www.jetbrains.com/pycharm/download/#section=windows 安装说明:https://www.runoob.com/w3cnote/pycharm-windows-install.html
全栈程序员站长
2022/09/27
2.6K0
Python安装管理 Pycharm安装使用 pip使用[通俗易懂]
pip怎么卸载安装包_pip离线安装whl
如在完成Python的安装后,我们需要安装pandas这个包,则只需要在终端中输入 pip install pandas ,在网络畅通的条件下,就会开始包的安装。
全栈程序员站长
2022/11/02
2.5K0
点击加载更多

相似问题

python 3.6包pip安装时出现导入错误

12

使用pip安装包时出现ssl错误

11

使用PIP安装scrapy for python时出现错误

015

使用pip或pip3安装pyseer包时出现错误

344

安装pip包(pycrypto)时出现错误%1

110
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文