Teradata Studio与SQL Assistant中参数化日期查询的执行差异问题求助
Teradata Studio与SQL Assistant中参数化日期查询的执行差异问题求助
Hey Jennifer,作为天天跟Teradata各种工具打交道的人,太懂你这种新上手踩工具差异坑的郁闷了!
你遇到的问题核心是Teradata Studio和SQL Assistant对参数占位符的语法规则完全不一样:SQL Assistant默认支持用?参数名的方式来触发参数输入弹窗,但Teradata Studio不买这个账,它有自己的参数写法规范。
先看你贴的这段代码:
SELECT
'?Start_Period' as "Start Period",
'?End_Period' as "End Period"
;
这里还有个额外问题:你把参数用单引号括起来了,这会让Teradata把?Start_Period当成一个普通字符串,而不是需要替换的参数。
给你两个关键修改点,改完就能在Studio里正常运行了:
- 去掉参数外面的单引号,别让它变成字面量字符串
- Teradata Studio里要用
:参数名的格式来定义参数,替换原来的?参数名
修改后的代码应该是这样:
SELECT :Start_Period as "Start Period", :End_Period as "End Period" ;
运行这段代码时,Teradata Studio会自动弹出参数输入框,让你填入起始和结束日期,和你同事在SQL Assistant里的操作逻辑类似,只是语法要对应上工具的要求。
如果这段语句是嵌套在存储过程里的,还要额外确认存储过程的参数定义是否和调用逻辑匹配,但从你给出的片段来看,应该是交互式查询的参数用法问题,先按上面的方法修改试试,应该就能解决啦!
备注:内容来源于stack exchange,提问作者Jennifer Thomas
相关产品推荐
相关产品推荐

