我需要从表中选择行,其中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'
答案 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