大部分軟體開發者都至少會使用過一種以上的資料庫系統,我們在程式內寫判斷式時,如果運算子是使用「不等於(Not equal)」時,通常都是用 !=
表示。在 SQL 中雖然也可以使用 !=
表示,但實際上 ANSI SQL-92 標準中使用的是以 <>
表示。
實際上在工作方式、效能或其他方面都沒有差異,唯一有差異的只有語法上的不同而已。
那麼問題來了,應該使用哪一種語法表示才比較好?
以技術層面來說,其實兩者都沒問題,端看個人喜好即可,因為大部分資料系統都支援這兩種表示法,而僅支援 ANSI SQL-92 的資料庫系統幾乎已經停止維護。
以下資料庫系統同時支援 !=
與 <>
:
- MySQL 5.1:
!=
and<>
- PostgreSQL 8.3:
!=
and<>
- SQLite:
!=
and<>
- Oracle 10g:
!=
and<>
- Microsoft SQL Server 2000/2005/2008/2012/2016:
!=
and<>
- IBM Informix Dynamic Server 10:
!=
and<>
- InterBase/Firebird:
!=
and<>
- Apache Derby 10.6:
!=
and<>
- Sybase Adaptive Server Enterprise 11.0:
!=
and<>
以下資料庫系統只支援 ANSI SQL-92 標準(<>
):
Reference: sql server - Should I use != or <> for not equal in T-SQL? - Stack Overflow