SSIS Derivado expressão de coluna para o elenco booleana-to-Char
-
21-08-2019 - |
Pergunta
Estou tendo um pouco de uma luta com expressões dentro Colunas SSIS derivados.
O meu campo de origem é um tipo de dados booleano. É do campo de destino é um tipo de dados SQL CHAR.
** Nota que eu não projetar qualquer um dos esquemas. Se eu tivesse meu caminho, os tipos de dados que combinam. Infelizmente, este não é o meu caso!
Eu encontrei um grande exemplo de uma expressão regular .NET conversão de CHAR-a-BOOL. Isto faz exatamente o oposto do que estou tentando realizar:
[valToTranslate] == "Y" ? (DT_BOOL)1 : [valToTranslate] == "N" ? (DT_BOOL)0 : NULL(DT_BOOL)
Eu tentei implementar a fórmula inversa desta expressão sem sucesso. Aqui é a minha tentativa falhar:
[valToTranslate] == 0 ? (DT_WSTR,1)"N" : [valToTranslate] == 1 ? (DT_WSTR,1)"Y" : "N"(DT_WSTR)
Não estou certo se o CAST para (DT_WSTR, 1) é ainda correto para os campos de tipo de dados CHAR SQL? Deveria eu estar usando (DT_STR, 1) em vez disso? Qualquer ajuda é muito apreciada.
Solução
Você já tentou apenas um simples
[valToTranslate] ? "Y" : "N"
Isso deve funcionar -. Você pode precisar para lançar o Y e N para DT_STR, se assume que eles estão WSTR por padrão