이 내가 내 응용 프로그램에서했던 Linq에 - 투 - 엔티티 쿼리의 거친 SQL 번역했다1 = 1은 T-SQL에서 False를 반환합니다 - 왜?
DEClaRE @p__linq__0 datetime
SET @p__linq__0 = '2012-02-01 00:00:00'
SELECT (STR(CAST(DATEPART (day, @p__linq__0) AS float)))
SELECT
InvoicingActivityStartDay,
(STR(CAST(DATEPART (day, @p__linq__0) AS float))),
CASE WHEN STR(CAST(DATEPART (day, @p__linq__0) AS float))= InvoicingActivityStartDay THEN 'EQUAL' ELSE 'NOT EQUAL' END
FROM INVOICEMETADATA
아래의 미리보기를보고하십시오. InvoicingActivityStartDay 수있는 두 가지 값은 1과 20
이 같은 행이 조각의 결과이다 : 그것은 두 번째 행에 대해 동일하지 반환 이유
InvoicingActivityStartDay Column1 Column2
1 1 NOT EQUAL
20 1 NOT EQUAL
내가 이해; 하지만 1 = 1 인 첫 번째 행에 대해 왜 동등하지 않습니까?
'InvoicingActivityStartDay'의 유형은 무엇입니까? –
@ FrédéricHamidi NVARCHAR (2); 그러나 숫자 만 보유하고 있습니다. – FMFF
문자열이 실제로 ''1 ''이 아니라' '1' '인지 확인 했습니까? (뒷 공간에주의하십시오.) –