SQL smalldatetime SELECT查询

时间:2015-12-07 05:45:15

标签: sql

我需要从表中选择行,其中smalldatetime在两个值之间。

我正在尝试执行该查询,但它不起作用:

SELECT [numdoc]
  ,[numdok]
  ,[kodsotr]
  ,[dateShip]
  ,[pallCount]
 FROM [tsdgreen].[dbo].[ShipmentControl]
 WHERE [dateShip] > '2015/12/10 10:58:00' 
AND [dateShip] < '2015/12/11 10:42:00'

3 个答案:

答案 0 :(得分:0)

年份所在的日期时间格式有时令人困惑 您的日期和月份字段可能会倒退 默认情况下,它需要 YYYY/DD/MM 而不是 YYYY/MM/DD

在Oracle中,您还可以使用显式格式转换: TO_DATE('2015/12/10','yyyy/mm/dd') ,以确保日期与您发送的格式相同。

此外,如果使用Microsoft SQL,则应使用BETWEEN关键字,如此示例所示:

SELECT 
    [numdoc]
    ,[numdok]
    ,[kodsotr]
    ,[dateShip]
    ,[pallCount]
FROM 
    [tsdgreen].[dbo].[ShipmentControl]
WHERE 
    [dateShip] BETWEEN '2015/10/12 10:58:00' AND '2015/11/12 10:42:00'

答案 1 :(得分:0)

在OracleSQL中,你可以这样写:

SELECT [numdoc]
  ,[numdok]
  ,[kodsotr]
  ,[dateShip]
  ,[pallCount]
 FROM [tsdgreen].[dbo].[ShipmentControl]
 WHERE [dateShip] > TO_DATE('2015/12/10','yyyy/mm/dd') 
AND [dateShip] < TO_DATE('2015/12/11','yyyy/mm/dd') 

答案 2 :(得分:0)

我找到了答案。 2015/12/10 10:58:00意味着YYYY / DD / MM,我认为是YYYY / MM / DD