Ich habe eine MySQL-Datenbank, für die ich Powershell verwendeupdate data in. Ich kann auf jede Textspalte aktualisieren, aber ich habe ein Problem mit den "time" -Spalten, die den Datentyp datetime haben. Laut den MySQL-Dokumenten ist das datetime-Format das Format JJJJ-MM-TT HH: MM: SS (https://dev.mysql.com/doc/refman/5.1/en/datetime.html)
Der entsprechende Powershell-Befehl zum Abrufen von Datum / Uhrzeit in diesem Format lautet: get-date -format G (https://technet.microsoft.com/en-us/library/ee692801.aspx)
Wenn ich diese Zeit in eine Variable schreibe und versuche, einen Datensatz zu aktualisieren, bleibt der Datensatz leer und ich gehe davon aus, dass der Datentyp deaktiviert ist, da ich in Ganz- und Textspalten schreiben kann.
Hat jemand eine Ahnung, wie man den richtigen Datentyp sicherstellt, damit ich Datensätze aktualisieren kann?
Antworten:
1 für die Antwort № 1Versuchen
get-date -Format "yyyy-MM-dd hh:mm:ss"
1 für die Antwort № 2
Die vorherige Antwort war knapp, aber die Stunde muss "HH" anstatt "hh" sein. Andernfalls werden alle PM-Zeiten als AM eingefügt / abgefragt.
# Gets the current datetime in correct format for a MySQL query
[string]$mySqlDateTime = get-date -Format "yyyy-MM-dd HH:mm:ss"
# Assuming you have a [datetime] variable named $datetime,
# use the following to get the correct format for a MySQL query
[string]$mySqlDateTime = $datetime.ToString("yyyy-MM-dd HH:mm:ss")