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.exprbaş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):
0veya90ile9arası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,exprbu basamakları atlayabilir anlamına gelir.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 ayırıcıdan sonraki basamaklar,
expr'in ondalık ayırıcının sağında,fmtile belirtilenden daha fazla basamağa sahip olabileceğini gösterir..veyaDOndalık noktasının konumunu belirtir.
exprondalık nokta içermek zorunda değildir.,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.PRYalnızca biçim dizesinin sonunda izin verilir;
expr, açılı köşeli ayraçlarla (<1>) negatif bir sayıyı gösterir.
expr
0 ile 9 arasında başka karakterler veya fmt izin verilen karakterler içeriyorsa, Azure Databricks INVALID_FORMAT hatası oluşturur.
Geçersiz NULL için bir hata yerine expr döndürmek amacıyla try_to_number() kullanın.
Yaygın hata koşulları
Ö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');
345.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');
45.00
-- Using brackets to denote negative values
> SELECT to_number('<1234>', '999999PR');
-1234