SQLite-用Substr

select distinct substr(value,2,4),summary 
from ticket_custom 
LEFT JOIN ticket On ticket_custom.substr(value,4) = ticket.id 
where name = "parent" AND value <> 0

我有一个表ticket_custom,其中票证号在票证号前面有一个hastag(例如“#4567”),但是在表票证中,票证号没有此井号(“ 4567”)被保存。 我想离开这两个表,并想在票证编号旁边使用不带#的票证的“ summary”值。我尝试了上述查询,但出现错误。我如何结合使用不带#的票证编号的substr =和左连接?还是有其他方法可以做到这一点?

谢谢!

duke3032 回答:SQLite-用Substr

您应该使用substr(ticket_custom.value,2)而不是ticket_custom.substr(value,2,4)(语法不正确,并且不能保证字符串长度只能为5个字符)

因此您的查询应如下所示:

select distinct substr(value,2),summary 
from ticket_custom 
LEFT JOIN ticket On substr(ticket_custom.value,2) = ticket.id 
where name = "parent" AND value <> 0
,

这是函数substr()的正确语法:

On substr(ticket_custom.value,4) = ticket.id 

On substr(ticket_custom.value,2) = ticket.id 

如果ticket_custom.value仅包含5个字符。
在这种情况下(仅5个字符),您可以使用replace()

On replace(ticket_custom.value,'#','') = ticket.id 

或简单地:

On ticket_custom.value = '#' || ticket.id 
本文链接:https://www.f2er.com/3114044.html

大家都在问