ich einige Codes aus einem aktuellen Benutzer gegeben, die ich nicht herausfinden kann, wie Microsoft SQL Server 2014.Mit COALESCE und Konvertieren von Datetime-Felder
,TO_CHAR(COALESCE(TASK.ACT_START_DATE, TASK.TARGET_START_DATE,
TASK.EARLY_START_DATE), 'MM/DD/YYYY HH24:MI')
||
COALESCE(NVL2(TASK.ACT_START_DATE, ' A', NULL),
NVL2`enter code here`(TASK.TARGET_START_DATE, ' P', NULL),
NVL2(TASK.EARLY_START_DATE, ' E', NULL)) AS START_DATE_FMT
Die Datumsfelder, um umgewandelt werden konvertieren um entweder ein "A", "P" oder ein "E" hinter dem Datum hinzuzufügen.
Gibt es eine Möglichkeit, einen ähnlichen Code in SQL Server zu verwenden, um die Informationen zu erhalten? Ich habe überlegt, eine CASE-Anweisung zu verwenden, um auf Null zu überprüfen, aber ich kann die Syntax nicht korrekt finden.
Ein CASE Ausdruck ist der Weg zu gehen. Veröffentlichen Sie Ihren Versuch, CASE zu verwenden, und wir können Ihre Syntax debuggen. –
CASE, wenn TASK.ACT_START_DATE NULL ist, dann '' ELSE 'A' + CONVERT (VARCHAR (19), TASK.ACT_START_DATE, 20) \t WENN TASK.TARGET_START_DATE NULL DANN '' ELSE 'P' + CONVERT (VARCHAR (19) TASK_TARGET_START_DATE, 20) \t WENN TASK.EARLY_START_DATE IS NULL THEN '' ELSE 'E' + CONVERT (VARCHAR (19) TASK.EARLY_START_DATE, 20) \t END AS START_DATE_FMT –
A 'CASE' Ausdruck nur eine' ELSE haben kann 'Klausel. –