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.exprbaş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):
0veya90ile9arasında beklenen bir rakam belirtir. Ondalık noktaların solundaki A0,expren az o kadar basamağa sahip olması gerektiğini gösterir. Önde bulunan9,expr'nin bu basamakları atlayabileceğini gösterir.exprondalı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,
exprtarafından belirtilen,fmtifadesinin ondalık noktasının sağında alabileceği maksimum basamak sayısını gösterir..veyaDOndalık noktasının konumunu belirtir.
exprondalık nokta içermesi gerekmez.,veyaGGruplandırma (binlik) ayırıcısının
,konumunu belirtir. Her gruplandırma ayırıcısının solunda ve sağda bir0veya9olması gerekir.expr, sayının boyutuyla ilgili gruplandırma ayırıcısı ile eşleşmelidir.Lveya$Para birimi işaretinin
$konumunu belirtir. Bu karakter yalnızca bir kez belirtilebilir.SveyaMISiçin isteğe bağlı bir '+' veya '-' işaretinin veMIiçin yalnızca '-' işaretinin konumunu belirtir. Bu yönerge yalnızca bir kez belirtilebilir.PRexpr, 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');
345.00
-- The format requires at least three digits.
> SELECT to_number('$45', 'S$999,099.99');
Error: INVALID_FORMAT
-- 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');
45.00
-- Using brackets to denote negative values
> SELECT try_to_number('<1234>', '999999PR');
-1234