Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Endpoint de análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de dados SQL no Microsoft Fabric
Devolve o resultado de uma expressão, traduzido para o tipo de dado solicitado, ou NULL se o cast falhar no SQL Server. Usa TRY_PARSE apenas para converter de string para data/hora e tipos de números.
Transact-SQL convenções de sintaxe
Sintaxe
TRY_PARSE ( string_value AS data_type [ USING culture ] )
Arguments
string_value
nvarchar(4000) que representa o valor formatado a analisar no tipo de dado especificado.
string_value deve ser uma representação válida do tipo de dado solicitado, caso contrário TRY_PARSE retorna nulo.
data_type
Literal representa o tipo de dado solicitado para o resultado.
cultura
Cadeia opcional que identifica a cultura em que string_value está formatado.
Se a cultura argumento não for fornecida, o idioma da sessão atual será usado. Esta linguagem é definida de forma implícita ou explícita usando a afirmação SET LANGUAGE .
a cultura aceita qualquer cultura suportada pelo .NET Framework. Não se limita às linguagens explicitamente suportadas pelo SQL Server. Se a cultura argumento não for válido, PARSE gerará um erro.
Tipos de devolução
Devolve o resultado da expressão, traduzido para o tipo de dado solicitado, ou NULL se o cast falhar.
Observações
Usa TRY_PARSE apenas para converter de string para data/hora e tipos de números. Para conversões gerais de tipos, continue a usar CAST ou CONVERT. Lembra-te que há uma certa sobrecarga de desempenho na análise do valor da cadeia.
TRY_PARSE baseia-se na presença do .NET Framework Common Language runtime (CLR).
Esta função não pode ser remota, pois depende da presença do CLR. Remover uma função que requer o CLR causaria um erro no servidor remoto.
Mais informações sobre o data_type parâmetro
Os valores para o parâmetro data_type estão restritos aos tipos mostrados na tabela seguinte, juntamente com os estilos. A informação sobre o estilo é fornecida para ajudar a determinar que tipos de padrões são permitidos. Para mais informações sobre estilos, consulte a documentação do .NET Framework para as System.Globalization.NumberStyles enumerações e DateTimeStyles .
| Categoria | Tipo | Tipo .NET | Estilos utilizados |
|---|---|---|---|
| Numeric | bigint | Int64 |
NumberStyles.Number |
| Numeric | int | Int32 |
NumberStyles.Number |
| Numeric | smallint | Int16 |
NumberStyles.Number |
| Numeric | tinyint | Byte |
NumberStyles.Number |
| Numeric | decimal | Decimal |
NumberStyles.Number |
| Numeric | numérico | Decimal |
NumberStyles.Number |
| Numeric | float | Double |
NumberStyles.Float |
| Numeric | real | Single |
NumberStyles.Float |
| Numeric | dinheiro pequeno | Decimal |
NumberStyles.Currency |
| Numeric | dinheiro | Decimal |
NumberStyles.Currency |
| Data e Hora | date | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Data e Hora | time | TimeSpan |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Data e Hora | datetime | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Data e Hora | smalldatetime | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Data e Hora | datetime2 | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Data e Hora | datetimeoffset | DateTimeOffset |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Mais informações sobre o culture parâmetro
A tabela seguinte mostra os mapeamentos das linguagens SQL Server para as culturas do .NET Framework.
| Nome completo | Alias | LCID | Cultura específica |
|---|---|---|---|
| us_english | Inglês | 1033 | en-US |
| Alemão | Alemão | 1031 | de-DE |
| Français | Francês | 1036 | fr-FR |
| 日本語 | Japonês | 1041 | ja-JP |
| Dansk | Dinamarquês | 1030 | da-DK |
| Español | Espanhol | 3082 | es-ES |
| Italiano | Italiano | 1040 | it-IT |
| Nederlands | Holandês | 1043 | nl-NL |
| Norsk | Norueguês | 2068 | nn-NO |
| Português | Português | 2070 | pt-PT |
| Suomi | Finlandês | 1035 | fi-FI |
| Svenska | Sueco | 1053 | sv-SE |
| čeština | Checo | 1029 | Cs-CZ |
| magyar | Húngaro | 1038 | Hu-HU |
| polski | Polaco | 1045 | Pl-PL |
| română | Romeno | 1048 | Ro-RO |
| hrvatski | Croata | 1050 | hr-HR |
| slovenčina | Eslovaco | 1051 | Sk-SK |
| slovenski | Esloveno | 1060 | Sl-SI |
| ελληνικά | Grego | 1032 | El-GR |
| български | Búlgaro | 1026 | bg-BG |
| русский | Russo | 1049 | Ru-RU |
| Türkçe | Turco (língua) | 1055 | Tr-TR |
| Britânico | Inglês Britânico | 2057 | en-GB |
| eesti | Estónio | 1061 | Et-EE |
| latviešu | Letão | 1062 | lv-LV |
| lietuvių | Lituano | 1063 | lt-LT |
| Português (Brasil) | Brasileiro | 1046 | pt-BR |
| 繁體中文 | Chinês tradicional | 1028 | zh-TW |
| 한국어 | Coreano | 1042 | Ko-KR |
| 简体中文 | Chinês simplificado | 2052 | zh-CN |
| Árabe | Árabe | 1025 | ar-SA |
| ไทย | Tailandês | 1054 | Th-TH |
Examples
A. Exemplo básico de TRY_PARSE
SELECT TRY_PARSE ('Jabberwokkie' AS DATETIME2 USING 'en-US') AS Result;
Esta consulta retorna um resultado de NULL.
B. Detetar nulos com TRY_PARSE
SELECT
CASE WHEN TRY_PARSE ('Aragorn' AS DECIMAL USING 'sr-Latn-CS') IS NULL
THEN 'True'
ELSE 'False'
END AS Result;
Esta consulta retorna um resultado de True.
C. Use IIF com TRY_PARSE e definição de cultura implícita
SET LANGUAGE English;
SELECT IIF (TRY_PARSE ('01/01/2011' AS DATETIME2) IS NULL, 'True', 'False') AS Result;
Esta consulta retorna um resultado de False.