Q:

En consulta SQL controlar si un campo fechaA es igual a "01/01/1900" y si es asi que devuelva el valor de otro campo fechaB

Tengo una consulta SQL muy larga en uno de sus parrafos necesito controlar si un campo fechaA es igual a "01/01/1900" y si es asi que devuelva el valor de otro campo fechaB.
Como comentaba la consulta es muy muy larga con otros CASE, argumentos, etc.. de por medio.  Entonces entre el código hay un trozo con T1.FechaA, T2.Importe... y yo he agregado T1.FechaA ( CASE WHEN T1.FechaA = '1900-01-01' THEN T1.FechaB END), T2.Importe... pero me da error

A:

Aquí tendrías un ejemplo con CASE:
Donde te mostrará siempre lo que haya en el campo fechaA salvo que este sea igual a la fecha '01/01/1900' que en ese caso te mostrará el valor de fechaB
select campo1, campo2, campo3, 
  case when fechaA = '01/01/1900'
  then fechaB
  else fechaA
  end AliasQueLeQuierasDar
from tabla1
where campo1 = condicion1

Lo del Alias, no estoy seguro de que en SQLServer funcione, ahora mismo lo he podido probar en una base de datos Oracle, pero las sentencias CASE son iguales en ambos lenguajes si no me equivoco.