Pregunta

Estoy teniendo un poco de una lucha con las expresiones dentro Columnas SSIS derivados.

Mi campo de origen es un tipo de datos Boolean. Es campo de destino es un tipo de datos de SQL CHAR.

** Tenga en cuenta que no diseñó cualquiera de los esquemas. Si por mí fuera, los tipos de datos podrían coincidir. Por desgracia, este no es mi caso!

he encontrado un gran ejemplo de una expresión regular .NET convertir CHAR-a-BOOL. Esto hace exactamente lo contrario de lo que estoy tratando de lograr:

[valToTranslate] == "Y" ? (DT_BOOL)1 : [valToTranslate] == "N" ? (DT_BOOL)0 : NULL(DT_BOOL)

He tratado de poner en práctica la fórmula inversa de esta expresión sin éxito. Aquí está mi intento en su defecto:

[valToTranslate] == 0 ? (DT_WSTR,1)"N" : [valToTranslate] == 1 ? (DT_WSTR,1)"Y" : "N"(DT_WSTR)

No estoy seguro de si el CAST para (DT_WSTR, 1) es aún correcta para los campos de tipo de datos CHAR de SQL? ¿Debo estar usando (DT_STR, 1) en su lugar? Cualquier ayuda es muy apreciada.

¿Fue útil?

Solución

¿Has probado sólo un sencillo

[valToTranslate] ? "Y" : "N"

Eso debería funcionar - puede que tenga que emitir el Y y N para DT_STR, si se asume que son WSTR por defecto

.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top