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 especial. 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, define como os dados na expressão de origem devem ser formatados na cadeia de destino.
Uma seqüência de zero ou mais caracteres. Todos os caracteres podem ser utilizados, exceto os caracteres especiais listados na Tabela 1.
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 # - + , . ) listados na Tabela 1.
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 forem utilizados vários separadores de agrupamento (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. |
' | Aspa utilizada para delimitar caracteres especiais com aspas. Se um aspa for necessária na saída, ela deverá ser duplicada (''). |
* | 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 ocasionaria "xxx1,234.00". Aplicado a 1234567, ocasionaria "1,234,567.00".
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" |