좀 짓고 있어요 SQL의 C #에서 쿼리를. 코드에 변수로 저장된 일부 조건에 따라 달라집니다.
string Query="SELECT * FROM Table1 WHERE 1=1 ";
if (condition1)
Query += "AND Col1=0 ";
if (condition2)
Query += "AND Col2=1 ";
if (condition3)
Query += "AND Col3=2 ";
작동하지만 1 = 1 테스트는 우아하게 보이지 않습니다. 사용하지 않았다면 쿼리에 "where"키워드가 이미 추가되었는지 여부를 매번 기억하고 확인해야했습니다.
더 좋은 해결책이 있습니까?
Select 42우리가받은 수십만 개의 쿼리였습니다. (원인을 추적하려고했던 좋지)
If I didn't use it, I would have to remember and check every time if "where" keyword was already added or not to the query-그래서 1 = 1. 어쨌든 데이터베이스 엔진은이를 최적화하기 때문에보기 흉할 수 있지만 문제를 해결하는 가장 쉬운 방법입니다.

42 = 42;-)