Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: Databricks SQL
Databricks Runtime 11.3 LTS ve üzeri
ONDALıK'a dönüşümü expr
kullanarak fmt
biçimlendirmesi ile döndürür.
Söz dizimi
to_number(expr, fmt)
fmt
{ ' [ MI | S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
Tartışmalar
-
expr
: Bir sayıyı temsil eden STRING ifadesi.expr
baştaki veya sondaki boşlukları içerebilir. -
fmt
:expr
'in beklenen biçimini belirten bir dizgi değişmez değeri.
İadeler
ONDALıK(p, s), p
toplam basamak sayısıdır (0
veya 9
) ve s
ondalık ayırıcıdan sonraki basamak sayısıdır veya yoksa 0'dır.
fmt
aşağıdaki öğeleri içerebilir (büyük/küçük harfe duyarsız):
0
veya9
0
ile9
arasında beklenen bir basamağı belirtir. Ondalık noktaların solundaki bir0
,expr
'in en azından bu kadar basamağa sahip olması gerektiğini gösterir. Baştaki9
,expr
bu basamakları atlayabilir anlamına gelir.expr
ondalık ayırıcının solundaki basamak sayısının izin verdiği kadar büyük olmamalıdır.Ondalık ayırıcıdan sonraki basamaklar,
expr
'in ondalık ayırıcının sağında,fmt
ile belirtilenden daha fazla basamağa sahip olabileceğini gösterir..
veyaD
Ondalık noktasının konumunu belirtir.
expr
ondalık nokta içermek zorunda değildir.,
veyaG
Gruplandırma (binlik) ayırıcısının
,
konumunu belirtir. Her gruplandırma ayırıcısının solunda ve sağda bir0
veya9
olması gerekir.expr
, sayının boyutuyla ilgili gruplandırma ayırıcısı ile eşleşmelidir.L
veya$
Para birimi işaretinin
$
konumunu belirtir. Bu karakter yalnızca bir kez belirtilebilir.S
veyaMI
S
için isteğe bağlı bir '+' veya '-' işaretinin veMI
için yalnızca '-' işaretinin konumunu belirtir. Bu yönerge yalnızca bir kez belirtilebilir.PR
Yalnızca biçim dizesinin sonunda izin verilir;
expr
, açılı köşeli ayraçlarla (<1>
) negatif bir sayıyı gösterir.
Eğer expr
içinde 0
ile 9
arasındaki karakterler veya fmt
tarafından izin verilen karakterler dışında başka karakter varsa, bir hata döndürülür.
Geçersiz NULL
için bir hata yerine expr
döndürmek amacıyla try_to_number() kullanın.
Örnekler
-- The format expects:
-- * an optional sign at the beginning,
-- * followed by a dollar sign,
-- * followed by a number between 3 and 6 digits long,
-- * thousands separators,
-- * up to two dight beyond the decimal point.
> SELECT to_number('-$12,345.67', 'S$999,099.99');
-12345.67
-- Plus is optional, and so are fractional digits.
> SELECT to_number('$345', 'S$999,099.99');
1.00
-- The format requires at least three digits.
> SELECT to_number('$45', 'S$999,099.99');
Error: INVALID_FORMAT.MISMATCH_INPUT
-- The format requires at least three digits.
> SELECT try_to_number('$45', 'S$999,099.99');
NULL
-- The format requires at least three digits
> SELECT to_number('$045', 'S$999,099.99');
1.00
-- Using brackets to denote negative values
> SELECT to_number('<1234>', '999999PR');
-1234