【发布时间】:2017-05-03 16:27:07
【问题描述】:
我有这个 SQL 代码:
Select [Name] = case when CHARINDEX(''.'', [Name])>0
then LEFT([Name],CHARINDEX(''.'', [Name])-1)
else [Name] end,
[System] = case when reverse(SUBSTRING(REVERSE( System),1,CHARINDEX('':'', REVERSE(System)))) like '':''
then ( System + ''\'')
else System end
我正在创建我的 SSIS 工作流,以便使用 SSIS 构建我的 ETL。为了创建上面的转换,我使用了派生列对象。 对于第一个语句,我试试这个:
ISNULL(SUBSTRING([Name],1,FINDSTRING([Name],".",1) - 1)) ? [Name] : SUBSTRING([Name],1,FINDSTRING([Name],".",1) - 1)
但它给了我错误...
如何进行这两种转换?
谢谢!
【问题讨论】:
-
您遇到的错误是什么?您在“名称”列中获得什么类型的值?
-
它没有给我任何结果... ;(
标签: sql-server ssis etl derived-column