Erstellen von SQL-Tabelle, wo leere Zeichenfolge in DATETIME oder INT nicht Standard
Wie erstelle ich eine Tabelle so, dass ein INSERT INTO
mit einem leeren string nicht standardmäßig Jan 1, 1900 für DATETIME
Daten geben, oder 0 für INT
Daten geben?
CREATE TABLE TEST
(
TS DATETIME,
VA INT
)
INSERT INTO TEST VALUES ('','')
INSERT INTO TEST VALUES ('','2')
INSERT INTO TEST VALUES ('2012-06-08 12:13:14','')
SELECT * FROM TEST
Sie wollen nicht den Datentyp default, aber was Standard wollen Sie stattdessen? NULL?
Leer idealerweise aber ich weiß, es ist nicht möglich, während der
Leer idealerweise aber ich weiß, es ist nicht möglich, während der
INSERT
an, sondern SELECT
mit einem CONVERT()
InformationsquelleAutor greener | 2012-06-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie nicht, legen Sie leere strings
''
für die DATETIME-Spalte.Verwenden
NULL
statt.Dies funktioniert, wenn Sie definieren Sie die Spalte als NULL.
SELECT
Ebene mit einemCONVERT
InformationsquelleAutor Oded
dies ist die Antwort auf Ihre Frage:
InformationsquelleAutor Maziar Aboualizadeh Behbahani
Konfigurieren default-Wert für die Spalten beim erstellen der Tabelle selbst.
ex: standardmäßig auf null
Store 0000:00:00 00:00:00 und " als die Werte, die beim einfügen.
InformationsquelleAutor Akhi