Para conversões entre tipos de dados de cadeia e tipos de dados numéricos, você pode fornecer, no parâmetro FORMAT da função CAST, uma expressão de formatação opcional.
Para conversões de tipos de cadeia, a expressão de formatação define como a cadeia de origem deve ser analisada para preencher o tipo de dados de destino.
Para conversões para tipos de cadeia, a expressão de formatação define como os dados na expressão de origem devem ser formatados na cadeia de destino.
>>-| subpattern |--+-------------------+------------------------> '-;--| subpattern |-' >--+-------------------+--+-----------------+------------------>< '-:groupsep=--chars-' '-:decsep=--chars-' subpattern |--+-------+--digits--+---------+--+---------------+------------> '-chars-' '-.digits-' '-+-e-+--digits-' '-E-' >--+-------+----------------------------------------------------| '-chars-'
Uma seqüência de zero ou mais caracteres. Todos os caracteres podem ser utilizados, exceto os caracteres especiais que são listados em subpattern.
Um ou mais caracteres a serem utilizados como o separador entre as partes inteira e decimal de um número (o separador decimal). O separador decimal padrão é um ponto (.).
Uma seqüência de um ou mais tokens numéricos (0 # - + , . ) que são listados em subpattern.
Um ou mais caracteres a serem utilizados como o separador entre clusters de inteiros, para tornar os números grandes mais legíveis (o separador de agrupamento). O separador de agrupamento padrão é nulo (ou seja, não há nenhum agrupamento de dígitos ou separação de grupos).
Se vários separadores de agrupamento forem utilizados (como no exemplo anterior), o separador mais à direita definirá o tamanho primário e o penúltimo separador mais à direita definirá o tamanho secundário.
Token | Representa |
---|---|
0 | Qualquer dígito, incluindo um zero à esquerda. |
# | Qualquer dígito, exceto um zero à esquerda. (Consulte a explicação ou a diferença entre 0 e # após esta tabela.) |
. | Separador decimal. |
+ | Prefixo de números positivos. |
- | Prefixo de números negativos. |
, | Separador de agrupamento. |
E/e | Separa o número do expoente. |
; | Limite de subpadrão. |
' | Aspas, aplicadas aos caracteres especiais. Se uma aspa for necessária na saída, ela deverá ser dupla (''). |
* | Especificador de preenchimento. O caractere após o asterisco é utilizado para preencher o número a fim de ajustar o comprimento do padrão do formato. |
Os caracteres # e 0 são utilizados para substituição de dígitos, a diferença entre eles é que um caractere # será removido se não houver um número para substituí-lo. Por exemplo, 10 formatado pelo padrão #,##0.00 ocasiona "10.00", mas formatado por 0,000.00 ocasiona "0,010.00".
Para especificar caracteres de preenchimento, utilize um asterisco. Quando um asterisco é colocado em uma das duas regiões chars (o prefixo e o sufixo), o caractere imediatamente após ele é utilizado para preencher a saída. O preenchimento pode ser especificado apenas uma vez. Por exemplo, um padrão de *x#,###,##0.00 aplicado a 1234 fornece "xxx1,234.00". Mas aplicado a 1234567, fornece "1,234,567.00".
A tabela a seguir mostra padrões de formatação e as cadeias que são geradas a partir da entrada numérica de amostra.
Padrão | Número de Entrada | Cadeia de Saída |
---|---|---|
+###,##0.00;-###,###,##0.00:groupsep='':decsep=, | 123456789.123 | "+123'456'789,12" |
##0.00 | 1000000 | "1000000.00" |
##0.00 | 3.14159265 | "3.14" |