我正在使用派生列任务使用CASE WHEN语句更改列数据.但是,我需要能够说..
SQL代码将是:
CASE WHEN Column01 LIKE '%i%' THEN '0' ELSE '1' END
Run Code Online (Sandbox Code Playgroud)
在SSIS表达语言中将是:
[Column01] == "i" ? "0" : "1" (that's for equals i, not, LIKE %i%.
Run Code Online (Sandbox Code Playgroud)
是否可以使用LIKE运算符?
我对SSIS知之甚少,而且我已经尽可能多地用Google搜索了.我真的很感激我能得到的任何帮助.
我正在构建一个SSIS包,我只想从平面文件源中插入一组特定的数据.有没有办法使用WHERE子句只提取特定数据?
例如,如何将此查询转换为数据流任务?
INSERT INTO #TempTable (Column1, Column2)
SELECT Column1, Column2
FROM TEXTFILESOURCE
WHERE Column1 <> 'ABC'
Run Code Online (Sandbox Code Playgroud)
这可以通过数据流任务来实现吗?
我先前问过一个非常类似的问题但是现在我需要相同的结果,但输入不同.
示例代码:
CREATE TABLE #Temp (
[@name] VARCHAR(200),
[Value] VARCHAR(200)
)
INSERT INTO #Temp ([@name], [Value])
SELECT 'Fruit', 'Apple' UNION
SELECT 'Fruit', 'Orange' UNION
SELECT 'Fruit', 'Grape'
Run Code Online (Sandbox Code Playgroud)
选择声明
SELECT
[@name],
[Value]
FROM #Temp
FOR XML PATH ('Produce'), ROOT('ProduceMaster'), TYPE
Run Code Online (Sandbox Code Playgroud)
结果
<ProduceMaster>
<Produce name="Fruit">
<Value>Apple</Value>
</Produce>
<Produce name="Fruit">
<Value>Grape</Value>
</Produce>
<Produce name="Fruit">
<Value>Orange</Value>
</Produce>
</ProduceMaster>
Run Code Online (Sandbox Code Playgroud)
期望的结果
<ProduceMaster>
<Produce name="Fruit">
<Value>Apple</Value>
<Value>Grape</Value>
<Value>Orange</Value>
</Produce>
</ProduceMaster>
Run Code Online (Sandbox Code Playgroud) sql ×3
ssis ×2
dataflowtask ×1
flat-file ×1
insert ×1
sql-like ×1
sql-server ×1
t-sql ×1
where-clause ×1
xml ×1