[SSMS] Funkcja INSERT a Datetime Default Getdate

Odpowiedz Nowy wątek
2018-12-17 17:51
0

Witam,
Dysponuję poniższą bazą:

CREATE DATABASE Library
GO
USE Library
GO

CREATE TABLE Readers(
Reader_Id INT Primary Key NOT NULL,
Card_Id INT NOT NULL,
Surname VARCHAR(15) NOT NULL,
First_Name VARCHAR(15) NOT NULL,
Gender VARCHAR(1)NOT NULL,
Date_Of_Birth date NOT NULL,
Entry_Date DATETIME NOT NULL DEFAULT GETDATE())
GO
CREATE TABLE Rentals(
Rental_Id INT Primary Key NOT NULL,
Book_Id INT NOT NULL,
Reader_Id INT NOT NULL,
Rental_Date SMALLDATETIME NOT NULL,
Rental_Per_Day SMALLMONEY NOT NULL,
Return_Date SMALLDATETIME NOT NULL,

CONSTRAINT READ_RENT FOREIGN KEY(Reader_Id)
REFERENCES Readers(Reader_Id)
ON DELETE CASCADE
ON UPDATE CASCADE
);
GO

Podczas wprowadzania Insertow do pierwszej z tabeli (Readers)

INSERT INTO Readers (Reader_Id,Card_Id,Surname,First_Name,Gender,Date_Of_Birth)
VALUES(1,132,'Kowalski','Jan','M','1982-02-29')

napotykam na błąd

Conversion failed when converting date and/or time from character string.

Może ktoś wie, gdzie popełniam błąd?

edytowany 1x, ostatnio: Michał Bieniek, 2018-12-17 17:55

Pozostało 580 znaków

2018-12-17 18:15
1

Użyj CAST dla sparsowania string do date:
https://docs.microsoft.com/en[...]sact-sql?view=sql-server-2017

Pozostało 580 znaków

2018-12-17 18:42
0

Wywal kreski z daty

Powoduje to taki sam błąd - Michał Bieniek 2018-12-17 18:45

Pozostało 580 znaków

2018-12-17 18:51
0

'1982-02-29'

W kalendarzu nie ma takiej daty, rok 1982 nie był rokiem przestępnym.
Zapewne z tego powodu pojawia się błąd konwersji

edytowany 1x, ostatnio: grzegorz_so, 2018-12-17 18:54
Już działa, dziękuję za pomoc! ;) - Michał Bieniek 2018-12-17 19:07

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0