开发者社区> 问答> 正文

pyodps中的execute_sql()中如何使用系统参数:bdp.system.bizdate

代码如下:
sql_str = '''select * from table_name where ds='${bdp.system.bizdate}' limit 100'''
instance = o.execute_sql(sql_str)
with instance.open_reader() as reader:

print('count: ',reader.count)

输出:count: 0

但在IDE界面中输入:select * from table_name where ds='${bdp.system.bizdate}' limit 100
是可以正确返回数据的
另外如果在代码中直接使用日期: sql_str = '''select * from table_name where ds='20181111' limit 100'''
也是可以正确返回数据的。
可见在代码中没有正确解析系统参数bdp.system.bizdate

请问有么有哪位大虾碰到过类似问题,该如何解决呢?谢谢!

展开
收起
jack608 2018-11-13 18:31:14 7018 0
1 条回答
写回答
取消 提交回答
  • pyodps遇见$问题多多,不知道是不是有什么同意解决的方法,同样的问题在遇见接收上游参数的时候也会出现,,如果只是bdp.system.bizdate的话,,我是用to_char(dateadd(getdate(),-1,'dd'),'yyyymmdd')替代获取的,正常情况下应该没啥问题

    2019-07-17 23:13:55
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载