簡體   English   中英

Snowflake - 將 varchar 轉換為數字

[英]Snowflake - Convert varchar to numeric

我有一個 column(field1) 在 snowflake 中定義為 varchar。 它同時存儲字符串和數字(例如值:US15876、1.106336965E9)。 如何將數值轉換為顯示類似 1106336965 的內容,而不會丟失存儲字符串值或 null 值的列。 我正在嘗試 try_to_numeric(field1),但這會消除帶有字符串值的記錄並將它們顯示為 null。感謝任何幫助。

所以try_to_number是獲得數字的方式,對於非數字沒有錯誤的空值。 但是如果你想保留字符串,你實際上必須將你新創建的數字轉換回文本(或變體),否則它不能在同一列中,所以什么也得不到:

select column1
    ,try_to_number(column1) as_num
    ,nvl(as_num::text, column1) as why_not_both
from values
  ('US15876'), 
  ('1.106336965E9'),
  ('1.106336965'),
  ('1106336965');
第 1 列 AS_NUM 為什么不兼得
US15876 null US15876
1106336965 1,106,336,965 1106336965
1.106336965 1個 1個
1106336965 1,106,336,965 1106336965

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM