有人能告诉我下面的python查询有什么问题吗?SU_version是数据类型varchar(45),如果需要任何细节,请告诉我。
SELECT gerrit_id
FROM gerrit_table
where (SU_version>=00.00.0086
and SUversion<=00.00.0085
and PL=LA.BF64.1.1
and component=SU_CNSS_BT_FM_Redfox64);
答案 0 :(得分:1)
据推测,问题是常数。它们看起来像字符串,所以它们应该用单引号括起来:
SELECT gerrit_id
FROM gerrit_table
WHERE SU_version >= '00.00.0086' and SUversion <= '00.00.0085' and
PL = 'LA.BF64.1.1' and component = 'SU_CNSS_BT_FM_Redfox64';
答案 1 :(得分:0)
你说SU_version是varchar,所以为什么你在where子句中使用&gt; =,也许在使用&gt; =之前尝试将它强制转换,并且在你的pl中,你应该用引号括起来试试这段代码
SELECT gerrit_id
FROM gerrit_table
where (cast(SU_version as double)>=00.0086
and SUversion<=00.00.0085
and PL='LA.BF64.1.1'
and component='SU_CNSS_BT_FM_Redfox64');
我不知道LA.BF64.1.1
和SU_CNSS_BT_FM_Redfox64
是什么,所以我认为他们只是用户输入,希望这会有所帮助