SQL converte Varchar em numérico

SQL converte Varchar em numérico

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:

  1. A expressão refere -se a qualquer valor que possa ser convertido em um tipo especificado.
  2. T Tipo T refere -se ao tipo de dados ao qual o valor especificado deve ser convertido: o tipo de destino pode incluir qualquer tipo de SQL padrão suportado, como INT64, numérico, bignumérico, data, string, bytes, dateTime, tempo, estrutura, matriz, registro de data e hora, etc.
  3. Comprimento - O terceiro parâmetro é comprimento. Este é um parâmetro opcional que especifica o comprimento do tipo de destino.

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:

Int4
------
344

SQL 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;
Selecione Cast ('344' como Bignumeric) como BIG_NUMERIC;

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:

FLUTUADOR
---------
3.14159
(1 linha)

SQL 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": NULL

OBSERVAÇÃ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.