2017-12-26 27 views
0

문자열 필드를 기반으로 필드를 계산하려고 SQL Server보기를 작성했습니다. 이 :SQL Server expression, string = 'test'not working

SELECT  dbo.table2.field1 = 'Test' AS Expr25, dbo.table2.field1 
    FROM   dbo.table1 INNER JOIN 
          dbo.table2 ON dbo.table1.ID = dbo.table2.ID 

가 자동으로 쿼리 디자이너에 의해 변환 가져옵니다 :

SELECT  'dbo.table2.field1 = Test' AS Expr25, dbo.table2.field1 
FROM   dbo.table1 INNER JOIN 
         dbo.table2 ON dbo.table1.ID = dbo.table2.ID 

난 후 그 결과 더가 첫 번째 열

+7

더 많은 코드를 보여야한다고 생각합니다. 당신이 묘사하는 것은 일어나지 않습니다. 당신은 당신이보고있는 것을 오해하고 있습니다. –

+0

'dbo.dimTable.myField + N'Test'' 대신'dbo.dimTable.myField + = N'Test''을 의미합니까? –

+1

당신은 당신의 질의가 시각적 인 질의 디자이너 또는 무엇인가에 의해 엉망이되고 있다고 이야기하고 있습니까? –

답변

3

의 참/거짓 값이어야합니다 true 또는 false로 대문자를 사용해야합니다.

SELECT  case dbo.table2.field1 when 'Test' then 'true' else 'false' end 'true or false' 
, dbo.table2.field1 
    FROM   dbo.table1 INNER JOIN 
          dbo.table2 ON dbo.table1.ID = dbo.table2.ID 
+0

@ user1761806 내 편집보기 – Horaciux

+0

감사합니다! 이제 SQL Server가 부울 식을 허용하지 않으면 위의 작업을 혼란스럽게 보였습니다. 다른 RDBMS에서이 작업을 수행 했어야합니다. CASE가 잘 작동했는지 확인할 수 있습니다. 다들 감사 해요! – user1761806