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.

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top