to_number işlevi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 11.3 LTS ve üzeri

biçimlendirmesini fmtkullanarak ONDALıK'a dönüştürmeyi döndürürexpr.

Söz dizimi

to_number(expr, fmt)

fmt
  { ' [ MI | S ] [ L | $ ]
      [ 0 | 9 | G | , ] [...]
      [ . | D ]
      [ 0 | 9 ] [...]
      [ L | $ ] [ PR | MI | S ] ' }

Bağımsız değişkenler

  • expr: Bir sayıyı temsil eden STRING ifadesi. expr baştaki veya sondaki boşlukları içerebilir.
  • fmt: beklenen biçimini exprbelirten STRING değişmez değeri.

Döndürülenler

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 veya 9

    ile 9arasında 0 beklenen bir basamak belirtir. Ondalık noktaların solundaki A 0 , en az sayıda basamağı olması expr gerektiğini gösterir. Başta 9 , bu basamakların expr atlandığını 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 ayırıcının sağındaki basamaklar, ondalık ayırıcının sağındaki basamakların expr en fazla belirtenin belirte olduğunu fmt gösterir.

  • . veya D

    Ondalık noktasının konumunu belirtir.

    expr ondalık ayırıcı içermesi gerekmez.

  • , veya G

    Gruplandırma (binlik) ayırıcısının , konumunu belirtir. Her gruplandırma ayırıcısının solunda ve sağda bir 0 veya 9 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 veya MI

    için isteğe bağlı '+' veya '-' işaretinin ve yalnızca için MI'-' işaretinin Skonumunu 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.

ile 9dışında 0 karakterler veya içinde fmtizin verilen karakterler varsa expr bir hata döndürülür.

Geçersiz kullanım try_to_number() hatası yerine döndürmek NULL içinexpr.

Ö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 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 to_number('$045', 'S$999,099.99');
 45.00

-- Using brackets to denote negative values
> SELECT to_number('<1234>', '999999PR');
 -1234