Zestaw znaków wejściowych (Entity SQL)
Język Entity SQL akceptuje znaki UNICODE zakodowane w formacie UTF-16.
Literały ciągu mogą zawierać dowolny znak UTF-16 ujęty w pojedynczy cudzysłów. Na przykład N'中字列中テラ中". Podczas porównywania literałów ciągów są używane oryginalne wartości UTF-16. Na przykład N'ABC' różni się w kodzie japońskim i łacińskim.
Komentarze mogą zawierać dowolny znak UTF-16.
Identyfikatory ucieczki mogą zawierać dowolny znak UTF-16 ujęty w nawiasy kwadratowe. Na przykład [エスケープされた識別子]. Porównanie identyfikatorów uniknięć UTF-16 jest bez uwzględniania wielkości liter. Jednostka SQL traktuje wersje liter, które są takie same, ale pochodzą z różnych stron kodu co różne znaki. Na przykład [ABC] jest równoważne [abc], jeśli odpowiednie znaki pochodzą z tej samej strony kodowej. Jeśli jednak te same dwa identyfikatory pochodzą z różnych stron kodu, nie są równoważne.
Biały znak to dowolny znak odstępu UTF-16.
Nowy wiersz to dowolny znormalizowany znak UTF-16 nowego wiersza. Na przykład znaki "\n" i "\r\n" są uznawane za znaki nowego wiersza, ale znak "\r" nie jest znakiem nowego wiersza.
Słowa kluczowe, wyrażenia i znaki interpunkcyjne mogą być dowolnym znakiem UTF-16, który normalizuje się na łaciński. Na przykład SELECT na japońskiej stronie kodowej jest prawidłowym słowem kluczowym.
Słowa kluczowe, wyrażenia i znaki interpunkcyjne mogą być tylko znakami łacińskimi. SELECT
na japońskiej stronie kodowej nie jest słowem kluczowym. +, -, *, /, =, (, ), ', [, ] i dowolna inna konstrukcja języka, która nie jest cytowana tutaj, może być tylko znakami łacińskimi.
Proste identyfikatory mogą być tylko znakami łacińskimi. Pozwala to uniknąć niejednoznaczności podczas porównywania, ponieważ oryginalne wartości są porównywane. Na przykład abc różni się w kodzie japońskim i łacińskim.