답변:
아니요, 동일하지 않습니다.
첫 번째 쿼리는 전체 문자열 내에서 문자열을 찾습니다 ( replace () " 지정된 문자열 값의 모든 항목을 다른 문자열 값으로 바꿉니다 " 참조 ). 두 번째 쿼리는 정확한 문자열을 찾습니다.
와 같은 레코드가있는 경우 JeffJoe첫 번째 쿼리는을 제공 JoeJoe하고 두 번째 쿼리는 JeffJoe수정없이 제공합니다.
아니요, 그들은 같은 일을하지 않을 것입니다.
SQL 엔진에 필요한 노력의 양은 완전히 다릅니다. 첫 번째 쿼리에서 엔진은 모든 행을 통과하고 이름 열에서 문자열 바꾸기 작업을 수행해야합니다. 두 번째 쿼리에서는 이름이 "Jeff"인 테이블을 검색하고 이름 열을 Joe로 업데이트합니다.
문자열 교체는 와일드 카드입니다. 따라서 첫 번째 쿼리에서 "Jeffrey"라는 이름은 "Joerey"가됩니다.