A conversão é uma tarefa predominante para programadores e engenheiros de banco de dados. Este artigo explorará como converter um tipo Varchar em um tipo numérico no SQL padrão.
Deve -se levar em consideração que, quando dizemos SQL padrão, queremos dizer técnicas e métodos universalmente adotados por mecanismos de banco de dados relacionais.
Método de elenco SQL
No SQL padrão, a tipecasting é realizada usando a função elenco (). A sintaxe da função é como mostrado:
Elenco (expressão como t_type [(comprimento)]);A função leva três parâmetros principais:
SQL converte varchar em int
Considere o exemplo abaixo que converte o tipo Varchar em um tipo INT64.
Selecione CAST ('344' como INT64);A consulta de exemplo deve retornar o valor convertido em int como mostrado:
Int4SQL converte Varchar em numérico
Para converter um tipo Varchar em um tipo numérico, altere o tipo de destino como numérico ou bignumérico, como mostrado no exemplo abaixo:
Selecione Cast ('344' como numérico) como numérico;As consultas acima devem retornar o valor especificado convertido a numérico e grande numérico.
Observe que para garantir que o seu mecanismo de banco de dados suporta seu tipo de destino; Caso contrário, ele retornará um erro.
SQL converte Varchar para flutuar
Se você tiver Varchar de ponto flutuante, poderá convertê-lo em um tipo de flutuação, como mostrado no exemplo abaixo:
Selecione o elenco ('3.14159 'como flutuação) como flutuação;O código deve retornar o tipo de flutuação do Varchar especificado. Exemplo de saída é como mostrado abaixo:
FLUTUADORSQL SAFE Casting
Você já se perguntou o que acontece se você tentar converter uma string não numérica em um tipo numérico? Considere o exemplo abaixo:
Selecione CAST ('Hello' como Int64) como var;Se você tentar executar a consulta acima, ela falhará, pois o tipo Varchar especificado não poderá ser convertido em int.
Para impedir que a consulta não falhe se a conversão não for suportada, podemos usar o método SAUCA_CAST.
A função se comporta de maneira semelhante à função de elenco, exceto que não falha se a conversão falhar. Em vez disso, ele retorna nulo, como mostrado no exemplo abaixo:
Selecione Safe_cast ('Hello' como Int64) como NAN;Em vez de um erro, a consulta acima deve retornar:
"Nan": NULLOBSERVAÇÃO: O método SAFE_CAST é suportado no SQL padrão. Alguns mecanismos de banco de dados podem implementar os procedimentos de maneira diferente. Por exemplo, no SQL Server, a função SAVE_CAST () é renomeada para Try_cast ou Try_Convert.
Conclusão
Neste tutorial, discutimos como executar a casca de tipo no SQL padrão. Por exemplo, discutimos a conversão de Varchar em Int64, numérico, bignumeric e float64. Também abordamos como realizar elenco seguro para cenários em que a fundição de tipo pode resultar em um erro.