Sql 从日期开始<;迄今为止

Sql 从日期开始<;迄今为止,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,这是我正在使用的一个表,我想使“From date”总是在“to date”之前……例如:当我输入“From date”的值时,它应该总是小于“to date”(From date

这是我正在使用的一个表,我想使“From date”总是在“to date”之前……例如:当我输入“From date”的值时,它应该总是小于“to date”(From date 您可以使用
检查
约束:

declare @Education table (
ID                             int,
[From]                         date,
[To]                           date,
TitleOfQualification           nvarchar(100),
OrganisationProvidingEducation nvarchar(100),
City_ID                        int,
Country_ID                     int,
actionType                     nvarchar(20));
declare@Education表(
ID int,
FromDate日期,
今天,
nvarchar资格证书的标题(100),
提供教育的机构nvarchar(100),
城市ID int,
国家/地区信息,
actionType nvarchar(20),
支票(从日期<到日期)
);

不要使用
from
to
作为列名。这些是保留字,是SQL语法不可或缺的一部分。

您需要添加如下约束:

declare @Education table (
    ID                             int,
    FromDate                       date,
    ToDate                         date,
    TitleOfQualification           nvarchar(100),
    OrganisationProvidingEducation nvarchar(100),
    City_ID                        int,
    Country_ID                     int,
    actionType                     nvarchar(20),
    check (FromDate < ToDate)
);
altertable教育
添加约束检查\u日期检查([从]<[到]);

你想要什么??你为此做了什么?你需要一个检查约束。在@xmlInput.nodes('/SQLP/P/data/dataelement/EDU/HREducation')中选择T.Item.query('./ID')、value('.'int')、T.Item.query('./FromDate')、T.Item.query('./'ID')、T.Item.query('./'u action')。value('.'、'nvarchar(20'))作为T(项目)添加约束检查日期检查(FromDateALTER TABLE education ADD CONSTRAINT CHECK_DATES CHECK ([from] < [to]);