我是SSIS的新手,我一直在寻找这个问题的解决方案。非常感谢任何帮助!
我有一个数据定义为dt_wstr的平面文件,用于更改我使用数据转换的数据类型将[column]设置为dt_str(50)
我也使用派生列 - 添加为新列:目标是编写表达式
我有一个[列],定义为11个字符
我的问题是如何编写一个表达式只捕获10个字符,大于10的任何内容我想将[column]更改为-1 else(dt_I8)[column]
我试过了:
FINDSTRING([Column],"9999999999",1) == 10 ? -1 : (DT_I8)TRIM([Column])
FINDSTRING([Column],"9999999999",1) > 10 ? -1 : (DT_I8)TRIM([Column])
LEN([Column]) == 10 ? -1 : (DT_I8)[column]
SUBSTRING( [Copy of Member ID] ,1,10)
包运行没有错误,但表中的结果不正确,表中没有显示超过10个字符的列
我正在使用visual studio 2012
谢谢Dawana
答案 0 :(得分:0)
我不知道为什么你的子字符串尝试不起作用,但这会返回column
的前10个字符:
LEFT(column,10)
https://msdn.microsoft.com/en-us/library/hh231081(v=sql.110).aspx