我尝试在SQL中重写一组python操作。具体来说,我有一个python脚本,它从表table_name的sqlite3连接中查询列vals,并注意vals是一个可空列。然后,它使用numpy.nan_to_number过滤返回值,将None->0(SQL中的NULL)和大数转换为无穷大。有没有一种等价的方法可以用SQL语句来实现这一点?
table_name
vals
numpy.nan_to_number
None->0
bqjvbblv1#
处理NULL的标准方法是使用coalesce:
SELECT COALESCE(vals, 0) FROM ...
字符串把你的大数变成无穷大是很简单的。假设一个“大”整数是一个“超过两位数”的值,“无穷大”是99999。那么你就需要SELECT ... CASE WHEN vals > 99 THEN 99999 ELSE vals END。如果FP值更适合你的用例,你可以随意替换它。
99999
SELECT ... CASE WHEN vals > 99 THEN 99999 ELSE vals END
1条答案
按热度按时间bqjvbblv1#
处理NULL的标准方法是使用coalesce:
字符串
把你的大数变成无穷大是很简单的。
假设一个“大”整数是一个“超过两位数”的值,“无穷大”是
99999
。那么你就需要SELECT ... CASE WHEN vals > 99 THEN 99999 ELSE vals END
。如果FP值更适合你的用例,你可以随意替换它。