Sqlite转换

Sqlite转换,sqlite,Sqlite,如何将下面的查询转换为sqlite SELECT DISTINCT unite.UniteAd+'('+IIf(IsNull(Left(Semt.Semt,50)),'',Left(Semt.Semt,50))+')' AS UniteAd 我试着用case来代替iif,但我总是出错 您需要用CASE替换IIF和ISNULL,用SUBSTR替换LEFT。此外,还需要使用| |来连接,而不是+ 如果您已经做了这些更改,但仍然不起作用,请发布失败的SQL。我想帮你试试,但我不明白你所说的:

如何将下面的查询转换为sqlite

SELECT DISTINCT 
unite.UniteAd+'('+IIf(IsNull(Left(Semt.Semt,50)),'',Left(Semt.Semt,50))+')' 
AS UniteAd 

我试着用case来代替iif,但我总是出错

您需要用CASE替换IIF和ISNULL,用SUBSTR替换LEFT。此外,还需要使用| |来连接,而不是+

如果您已经做了这些更改,但仍然不起作用,请发布失败的SQL。我想帮你试试,但我不明白你所说的:

IIf(IsNull(Left(Semt.Semt,50)),'',Left(Semt.Semt,50))

我认为这是正确的选择DISTINCT unit.UniteAd+'(“+CASE当SUBSTR(Semt.Semt,0,50)为null时,则”“ELSE SUBSTR(Semt.Semt,0,50)+')作为UniteAd
SUBSTR(Semt.Semt,0,50)的目的是什么?您正在尝试评估Semt.Semt是否为NULL吗?我正在尝试获取称为Semt的列的前50个字符。这里我使用SUBSTR而不是左函数。