2016-10-18 45 views
2

我正在寻找一个指定的字符串并查询一个表,其中2个字段的连接等于字符串。在MySQL中的连续字符串中包含本地变量

set @fab = "36013-601301-11"; 
set @job = substring_index(@fab, '-', 1); 
set @fabnumba = trim(leading LEFT(@fab,char_length(@job)+1) from @fab); 

select * from (select JobNumber, concat(JobNumber, '-', LotNumber) as bomfab from qiw_powerbi) base 
where bomfab LIKE concat(@job,"-", @fabnumba) 

如果我尝试以下方法失败:

WHERE bombfab LIKE "36013-601301-11" 

然而,这种尝试的工作:

WHERE bombfab LIKE "36013-%601301-11" 

我怎样才能CONCAT()与变量@job和@fabnumba到做这个?

+0

编辑您的文章,并表现出一定的样本(非实时值)你想检索出来澄清您的查询的上下文数据。发布样本数据,结构等时使用空格而不是标签。 – DRapp

+0

更新了一个有效的例子,以及一个没有的例子,希望更好地阐明。 –

回答

3

您确定qiw_powerbiLotNumber值是您所期望的吗?他们没有任何领先的空间?

,如果你尝试添加TRIM功能LotNumber会发生什么:

select * from (select JobNumber, concat(JobNumber, '-', TRIM(LotNumber)) as bomfab from qiw_powerbi) base 
where bomfab LIKE concat(@job,"-", @fabnumba) 
+0

啊哈!在我使用SQL前端去掉主要空白字符的情况下,我忘了所有这些。非常感谢您的提醒! –

+0

这是否解决了问题?有没有领先的空白? – CGritton

+0

我实际上可以使用: –

相关问题