Aracılığıyla paylaş


try_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 VEYA expr NULL biçimiyle eşleşmiyorsa ONDALıK'a dönüştürmeyi döndürürexpr.

Söz dizimi

try_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 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 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 değerinin sağındaki basamaklar, tarafından fmtbelirtilen ondalık noktasının sağındaki basamak expr sayısı üst sınırını 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

    expr Açılı ayraçlar (<1> ) kaydırmalı negatif bir sayıyı gösterir.

expr aracılığıyla 9veya içinde izin verilenler fmtdışında 0 herhangi bir karakter içeriyorsa, bir NULL döndürülür.

Katı anlamsal kullanım to_number() için.

Ö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 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');
 45.00

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