SQL DATE
-
Hallo zusammen,
ich habe folgendes Problem. Ich möchte über DBvis auf meinem SQL Server 2005 eine Tabelle anlegen.
CREATE
TABLE "JDBCTESTDB"."PROTOCOLS"
(
"PRC_ID" INTEGER NOT NULL,
"PRC_CHANGE_ID" INTEGER,
"PRC_DATE" DATE NOT NULL,
"PRC_USR_ID" CHAR(5),
"PRC_PROTOCOLTYP_ID" CHAR(1),
"PRC_OLD_VALUE" VARCHAR2(256),
"PRC_NEW_VALUE" VARCHAR2(256),
"PRC_TACT_ID" INTEGER NOT NULL,
"PRC_FIELD" VARCHAR2(30),
"PRC_USRROLE_ID" CHAR(4),
"PRC_REMOTE_HOST" VARCHAR2(64),
CONSTRAINT "PK_PROTOCOLS" PRIMARY KEY ("PRC_ID") )Dabei bekomme ich diesen Fehler:
11:41:37 [CREATE - 0 row(s), 0.000 secs] [Error Code: 2715, SQL State: HY000] [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Column, parameter, or variable #3: Cannot find data type DATE.
Wie bekomme ich mein Datumsfeld angelegt ?
Gruß
Michael
-
versuch DateTime
-
Ich rolle das alte Thema gleich mal auf, da seht ihr das ich die Suche bennutzt habe und die Frage passt auch rein.
Ich habe eine Aufgabe: Geben sie das Eintrittsdatum aus ohne Uhrzeit.
Mit DATEPART kann ich mir zwar einen Teil wie Monat, tag jahr anzeigen lassen, allerdings mache ich da jedesmal neue Spalten. Also so:SELECT DATEPART(DAY, Datum), DATEPART(MONTH, Datum), DATEPART(YEAR,Datum) FROM Bestellungen
Ich habe die Aufgabenstellung allerdings so verstanden das das komplette datum zusammen steht.
Könnt ihr mir da evtl helfen wie ih das verknüpfe?
-
du kannst das Datum in einen String umwandeln, der einem bestimmten Zeitformat entspricht, z.B.:
Convert(varchar(12),@date,104)
weitere Informationen hierzu: MSDN
-
Wenn Du das öfter machts, und z.B. wegen der Sortierung auch keinen String haben willst, dann bietet sich eine kleine Funktion, wie diese, an:
SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO ALTER FUNCTION Func.GETDATEPART (@dt DATETIME) RETURNS DATETIME AS BEGIN RETURN CONVERT(datetime, FLOOR(CONVERT(float, @dt))) END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO
Die Abfrage wäre dann z.B. wie folgt:
Select Func.GETDATEPART(getdate())