작성
·
277
답변 1
0
안녕하세요.
'=='은 Dart 언어에서 제공해주는 비교 오퍼레이터입니다.
말씀하시는 .equals는 Moor에서 제공해주는 API입니다.
이 둘은 매우 다른 근본적인 차이점이 있는데 일단 Moor는 Dart 언어로 실행되지 않는다는 점입니다.
Moor 자체는 Dart 언어지만 Moor로 작성된 쿼리는 SQL로 "변환돼서" SQLite에서 실행됩니다.
그러니 SQL 컨텍스트에서 '=='은 아무런 의미가 없습니다. 그대로 변환을 한다해도 실제로 '='를 두개 사용하는 문법은 존재하지 않습니다.
하지만 .equals를 사용하면 실제 SQLite에서 사용하는, 저희가 Dart 언어에서 '=='로 사용하는 방식에 해당되는 값으로 "전환"이 됩니다.
그렇기때문에 꼭 equals 메소드를 사용하셔서 쿼리를 작성하셔야합니다.