[英]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.