SQL FIDDLE DEMO HEREAbfrage wo Datum = '2016/01/02' nicht funktioniert?
Ich habe diese Struktur der Tabelle:
CREATE TABLE Department
(
[IdDepartment] int,
[Name] varchar(23),
[IdUser] int,
[CreateDate] datetime
);
INSERT INTO Department ([IdDepartment], [Name], [IdUser], [CreateDate])
VALUES
(1, 'Sales', 3, '2016-01-15 17:00:00.000'),
(2, 'Finance', null, '2016-01-13 18:00:00.000'),
(3, 'Accounting' , 5, '2016-03-21 22:00:00.000'),
(4, 'IT' ,3, '2016-03-21 17:00:00.000'),
(5, 'Secretary',null, '2016-03-21 17:00:00.000'),
(6, 'Sport',3, '2016-02-20 16:00:00.000');
Ich möchte diese Abfrage auszuführen:
select Name
from Department
where CreateDate = '2016-03-21'
Dies gibt Zeilen 0 als Ergebnis.
Ich denke, es liegt daran, dass das Datum in der Tabellenstruktur ein Datetime ist, aber ich versuche, dies und weder Werke für mich zu tun:
Name
-----
Accounting
IT
Secretary
:
select Name
from Department
where CreateDate like '%2016-03-21%'
Das Ergebnis dieser sein sollte Wie kann ich dieses Ergebnis erhalten?
Ich hoffe, dass ich deutlich erklärt, dank
Ihr Code korrekt mir funktioniert dank :-D –
@ Esraa_92 Allthough - wie ein winziger Ausnahme! - 'CAST (someCol AS DATE)' eigentlich ** ist ** sargable, es ist erwähnenswert, dass es immer noch nicht die beste Idee zu tun ist: http://dba.stackexchange.com/a/34052/70663 – Shnugo