【发布时间】:2017-10-27 02:07:47
【问题描述】:
我正在尝试从 teradata db 获取数据并获得浮点数的 NaN 值,但如果我在 SQL 脚本中使用 cast(val as float) 则可以。我该如何解决?
代码:
import teradata
udaExec = teradata.UdaExec(appName = 'sel', version = '1.0', logConsole=False)
session = udaExec.connect(method='odbc',
system = 'db,
username = 'usr,
password='psw',
driver= 'Teradata',
charset='UTF8'
)
pd.read_sql('select 100000.0 as float_, 100000 as number_, cast(100000.0 as float) as float_cast', session)
输出:
float_ number_ float_cast
NaN 100000.0 100000.0
【问题讨论】:
-
1. 浮点数是邪恶的。 2. 这可能是我的 Java 程序员,但我讨厌隐式转换和弱类型。 3. 投射有什么问题?
-
铸造是可以的,如果你有很少的列,但如果你需要超过 10 个浮动列,这可能很烦人。
标签: python-3.x odbc teradata