내 DB에이 필드가 있습니다. mySerial Double?
멀티 멀웨어 검색이 있으며이 필드를 검색해야합니다.
사용자가 시작, 종료 또는 원하는 모든 것을 입력하는이 필드를 검색하려고합니다.Linq Double contains
그래서 이런 짓을 :
results.Where(x => x.mySerial.ToString().Contains(TextBox_mySerial.Text)) ;
내가 검색 : "88890"
내가해야 : 888900, 888901, 888903, 결과적으로 888,908, 888,909.
그러나 난 단지 얻을 : 888,889
이 Linq에 차례 .ToString().Contains
내 어 :
WHERE CONVERT(NVARCHAR(30), [t0].[mySerial], 2) LIKE '%88890%'
하지만 내가 원하는 것은 :
WHERE [mySerial] LIKE '%88890%'
는 Linq에이를 달성하거나 할 수있는 방법이 있습니까 내보기에
[mySerial]
을 varchar에 캐스트해야합니까? 당신이 문자열로 변환 할 이중이있는 경우
나는 놀랍지 않습니다. 나는 항상 나처럼 나처럼 지옥에 특별한 장소가 있다고 생각했다 .ToString(). int 또는 double에 Contains()를 포함한다. –
쿼리를 실행하고 'CONVERT (NVARCHAR (30), [mySerial], 2)'를 선택하면 어떤 결과가 나타 납니까? 문서에 따르면 2에 대한 스타일은 과학적 표기법을 제공 할 것이므로 그것이 당신을 망쳐 놓을 지 궁금합니다. 'SELECT CONVERT (NVARCHAR (30), CAST (888889 AS FLOAT), 2)'를 시도한 결과 8.888890000000000e + 005였습니다. 어쩌면 int 형으로 먼저 캐스팅 해보는 것이 좋을까요? – juharr
이것이 작동하는지 잘 모르겠지만'((string) x.mySerial) .Contains (TextBox_mySerial.Text)'를 시도하면 어떻게됩니까? – juharr