Поделиться через


Входной набор символов (Entity SQL)

Entity SQL принимает символы ЮНИКОДа, закодированные в UTF-16.

Строковые литералы могут содержать любой символ UTF-16, заключенный в одинарные кавычки. Например, N'文字列リテラル'. При сравнении строковых литерала используются исходные значения UTF-16. Например, N'ABC отличается в японских и латинских кодовых страницах.

Примечания могут содержать любой символ UTF-16.

Экранированные идентификаторы могут содержать любой символ UTF-16, заключенный в квадратные скобки. Например, [エスケープされた識別子]. Сравнение escape-идентификаторов UTF-16 не учитывает регистр. Entity SQL обрабатывает версии букв, которые отображаются одинаково, но имеют разные кодовые страницы как разные символы. Например, [ABC] эквивалентен [abc], если соответствующие символы находятся на той же кодовой странице. Однако если одинаковые два идентификатора находятся на разных кодовых страницах, они не эквивалентны.

Пробелы — это любой символ пробела UTF-16.

Новая линия является любым нормализованным символом новой строки UTF-16. Например, "\n" и "\r\n" считаются новыми символами, но "\r" не является новым символом.

Ключевые слова, выражения и знаки препинания могут быть любым символом UTF-16, нормализующимся на латинице. Например, SELECT в японском кодеpage является допустимым ключевым словом.

Ключевые слова, выражения и знаки препинания могут быть только латинскими символами. SELECT в японском кодовомpage не является ключевым словом. +, -, *, /, =, (, ), ", [, ] и любая другая конструкция языка, не приведенная здесь, может быть только латинскими символами.

Простые идентификаторы могут быть только латинскими символами. Это позволяет избежать неоднозначности во время сравнения, так как сравниваются исходные значения. Например, ABC будет отличаться в японских и латинских кодовых страницах.

См. также