2

我这里的东西对我来说很奇怪......

Select BARCODE, DATA 
from HISTORIA 
WHERE BARCODE='25405187' AND DATA = '2013-03-08 00:00:00.000'

Select BARCODE, DATA 
from HISTORIA 
WHERE BARCODE='25405187'

简单吧?

现在请查看返回的数据:

在此处输入图像描述

Ekhmmm...为什么...为什么... WHYYYY?:) 如您所见,有合适的日期,但比较会扼杀结果。

我有 SQL Server 2005 Express 和 Management Studio Express

4

2 回答 2

3

'2013-03-08 00:00:00.000'转换datetime. _ 它可以表示 8 月 3 日或 3 月 8 日。

这取决于您的DATEFORMAT设置(这又取决于您的登录语言)。

SET LANGUAGE english

SELECT CAST('2013-03-08 00:00:00.000' AS DATETIME) AS english

SET LANGUAGE british

SELECT CAST('2013-03-08 00:00:00.000' AS DATETIME) AS british

退货

Changed language setting to us_english.
english
-----------------------
2013-03-08 00:00:00.000

Changed language setting to British.
british
-----------------------
2013-08-03 00:00:00.000

利用

WHERE BARCODE='25405187' AND DATA = '20130308 00:00:00.000' 

或者更简单地说

WHERE BARCODE='25405187' AND DATA = '20130308' 
于 2013-03-10T20:52:13.713 回答
1

试试这个标准 (ISO) 日期表示:

Select BARCODE, DATA 
from HISTORIA 
WHERE BARCODE='25405187' AND DATA = '2013-03-08T00:00:00.000'
于 2013-03-11T17:01:47.337 回答