2016-10-13 1 views
-1

J'ai un format datetime qui est affiché comme suit:SSIS Changer un format de date

'13 11:58:00' -10 à 2016

je le redemanderai à montrer que:

'2016-10-13 11:58:00'

Comment puis-je modifier l'expression ci-dessous afin de faire correspondre cela?

Expression:

"SELECT _sessions.session_id AS session_id, _sessions.user_id AS user_id, _sessions.updated_at FROM public._sessions _sessions" + (@[User::IncrementalOrFullLoad] == "F" ? "" : " WHERE 

Sortie courant:

SELECT _sessions.session_id AS session_id, _sessions.user_id AS user_id, _sessions.updated_at FROM public._sessions _sessions WHERE 
_sessions.updated_at > '13-10-2016 11:58:00' 
+0

'datetime' n'a pas de format inhérent, la façon dont il est affiché dépend de vos paramètres locaux. Si vous voulez afficher un certain format, vous devrez le convertir en 'varchar' – HoneyBadger

Répondre

1

chaîne La production d'une variable datetime comme AAAA-MM-JJ hh: mm: ss est simple

(DT_STR, 20, 1252)(DT_DBTIMESTAMP)@[User::YourDateTimeVar] 

Le premier type transtypé en DBTIMESTAMP est nécessaire pour éviter l'ambiguïté de format. Sans cela, le processus SSIS .Net transformerait la variable datetime en chaîne à l'aide d'une culture de processus ou de système. Le premier moulage vers DBTIMESTAMP corrige la culture et donne le résultat souhaité.