如何将其转换为SSIS包中的SQL代码,因为我试图在额外的派生列中使用相同的SQL代码,但在这里我遇到了错误。
SQL代码:
REVERSE(SUBSTRING(REVERSE ([MeasureName]),PATINDEX('% %',REVERSE ([MeasureName])),50))
Please suggest me
Error Msg:
------------------------------
Error at DRIVE [Extra Derived Columns [1567]]: Parsing the expression "REVERSE(SUBSTRING(REVERSE ([MeasureName]),PATINDEX('% %',REVERSE ([MeasureName])),50))" failed. The single quotation mark at line number "1", character number "52", was not expected.
Error at DRIVE [Extra Derived Columns [1567]]: Cannot parse the expression "REVERSE(SUBSTRING(REVERSE ([MeasureName]),PATINDEX('% %',REVERSE ([MeasureName])),50))". The expression was not valid, or there is an out-of-memory error.
Error at DRIVE [Extra Derived Columns [1567]]: The expression "REVERSE(SUBSTRING(REVERSE ([MeasureName]),PATINDEX('% %',REVERSE ([MeasureName])),50))" on "output column "Derived Column 1" (2025)" is not valid.
Error at DRIVE [Extra Derived Columns [1567]]: Failed to set property "Expression" on "output column "Derived Column 1" (2025)".
------------------------------
ADDITIONAL INFORMATION:
Exception from HRESULT: 0xC0204006 (Microsoft.SqlServer.DTSPipelineWrap)谢谢
发布于 2013-09-22 21:30:54
好的,在SSIS中没有PATINDEX,需要使用FINDSTRING`:
FINDSTRING(character_expression, searchstring, occurrence)返回字符表达式中字符串的指定匹配项的位置
这不会抛出错误,但可能不是您想要的,因为我不知道您的字符串要达到什么目的:
REVERSE(SUBSTRING(REVERSE([Company]),FINDSTRING("% %",REVERSE([Company]),1),50))https://stackoverflow.com/questions/18915955
复制相似问题