Conjunto de caracteres de entrada (Entity SQL)
O Entity SQL aceita caracteres UNICODE codificados em UTF-16.
Os literais de cadeia de caracteres podem conter qualquer caractere UTF-16 entre aspas simples. Por exemplo, N'文字列リテラル'. Quando literais de cadeia de caracteres são comparados, os valores UTF-16 originais são usados. Por exemplo, N'ABC' é diferente em páginas de código japonesas e latinas.
Os comentários podem conter qualquer caractere UTF-16.
Os identificadores com escape podem conter qualquer caractere UTF-16 entre colchetes. Por exemplo, [エスケープされた識別子]. A comparação de identificadores com escape UTF-16 não diferencia maiúsculas de minúsculas. O Entity SQL trata versões de letras que parecem iguais, mas são de páginas de código diferentes, como caracteres diferentes. Por exemplo, [ABC] é equivalente a [abc] se os caracteres correspondentes forem da mesma página de código. No entanto, se os mesmos dois identificadores forem de páginas de código diferentes, eles não serão equivalentes.
Espaço em branco é qualquer caractere de espaço em branco UTF-16.
Uma nova linha é qualquer caractere de nova linha UTF-16 normalizado. Por exemplo, '\n' e '\r\n' são considerados caracteres de nova linha, mas '\r' não é um caractere de nova linha.
Palavras-chave, expressões e pontuação podem ser qualquer caractere UTF-16 que normalize para o latim. Por exemplo, SELECT em uma página de código japonesa é uma palavra-chave válida.
Palavras-chave, expressões e pontuação só podem ser caracteres latinos. SELECT
em uma página de código japonesa não é uma palavra-chave. +, -, *, /, =, (, ), ', [, ] e qualquer outra construção linguística não citada aqui só pode ser caracteres latinos.
Identificadores simples só podem ser caracteres latinos. Isso evita ambiguidade durante a comparação, porque os valores originais são comparados. Por exemplo, ABC seria diferente em páginas de código japonesas e latinas.