你好,我使用的是一个复杂的查询和查询生成器,我想知道如何正确地使用TRIM。我必须在左联接中使用它--我的代码如下所示
$data_db = DB::table('TCLIENTI AS TC')
->leftJoin('REGIONI', TRIM('REGIONI.COD_REG'), '=', TRIM('TC.COD_REG'))
->select(
'REGIONI.DESCRIZIONE'
)
->get();它一直返回null (默认情况下是正确的),但是我需要使用TRIM来获得该字段中存在的结果
这是一个主要的麻烦,在这个查询中有更多的联接和更多的选择,所以我想尽可能少地编辑它。
我的问题是为什么这不起作用?我没有任何错误
->leftJoin('REGIONI', TRIM('REGIONI.COD_REG'), '=', TRIM('TC.COD_REG'))附注:我正在从非常老的代码中转换一个现有的查询,它看起来是这样的:
Trim(TCLIENTI.COD_REG)=Trim(REGIONI.COD_REG (+))发布于 2022-07-08 15:33:49
这里是TRIM函数trim,它只会修剪您所提供的文字字符串,即'REGIONI.COD_REG',而不会实际修剪DB列中的值。为此,您需要使用原始DB语句:
$data_db = DB::table('TCLIENTI AS TC')
->leftJoin('REGIONI', \DB::raw("TRIM(REGIONI.COD_REG)"), '=', \DB::raw("TRIM(TC.COD_REG)"))
->select('REGIONI.DESCRIZIONE')
->get();https://stackoverflow.com/questions/72913595
复制相似问题