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
Belirtilen biçimlendirmeyi expr
kullanarak fmt
'i DECIMAL'a dönüştürür veya NULL
biçimiyle eşleşmiyorsa expr
değerini döndürür.
Söz dizimi
try_to_number(expr, fmt)
fmt
{ ' [ MI | S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
Argümanlar
-
expr
: Bir sayıyı temsil eden STRING ifadesi.expr
baştaki veya sondaki boşlukları içerebilir. -
fmt
:expr
öğesinin beklenen biçimini belirten bir string sabiti.
İ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 ondalık ayırıcıdan sonra basamak 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 rakam belirtir. Ondalık noktaların solundaki A0
,expr
en az o kadar basamağa sahip olması gerektiğini gösterir. Önde bulunan9
,expr
'nin bu basamakları atlayabileceğini gösterir.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 noktasının sağındaki rakamlar,
expr
tarafından belirtilen,fmt
ifadesinin ondalık noktasının sağında alabileceği maksimum basamak sayısını gösterir..
veyaD
Ondalık noktasının konumunu belirtir.
expr
ondalık nokta içermesi gerekmez.,
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
expr
, açılı ayraçlar (<1>
) kullanılarak negatif bir sayıyı belirtir.
expr
yalnızca 0
'den 9
'ye kadar veya fmt
içinde izin verilen karakterleri içermezse, bir NULL
döndürülür.
Sıkı anlamsal kullanım için 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 try_to_number('-$12,345.67', 'S$999,099.99');
-12345.67
-- Plus is optional, and so are fractional digits.
> SELECT try_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 number
-- 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 try_to_number('$045', 'S$999,099.99');
1.00
-- Using brackets to denote negative values
> SELECT try_to_number('<1234>', '999999PR');
-1234