我需要加入一两张桌子。一张表有工资字段。因此,如果该字段为 null 意味着它返回 0,我也会进行一些计算。所以我使用len()。但我无法访问正确的值。当我在len()条件之前使用 join 时,我有一个结果。但是结果 id 列像 1,4,46,89 一样无序, ......类似的东西。我不知道为什么。
我的疑问是,
CAST(SUBSTRING(CAST(o.Budget AS VARCHAR(50)), 0, PATINDEX('%laks%', o.Budget))*100000
+ SUBSTRING(CAST(o.Budget AS VARCHAR(50)), PATINDEX('%laks%', o.Budget) + 4,
patindex('%Thousands%', o.Budget) - PATINDEX('%laks%', o.Budget) - 4)* 1000 AS VARCHAR(50))+')'
FROM requirementsdetailsfororganization o
right Join Requirementsregistereddetails AS r ON r.registereddate=r.registereddate
left join Requirement_Contact_Details as rc ON rc.RequirementID=o.requirementId
**where len(o.Budget)<>0**
在上面的代码中,我使用了这个条件。但是为什么它显示这种类型的值。
我的输出:
插入工作( 1 ,85000)
插入工作(3 ,205000)
插入作业(4 ,0(当为空时))
插入工作(16 ,145000)
插入工作( 18 ,110000)
在前面的结果中,我加粗的值是 Id。当我使用 len() 时,它是无序的,并且在值的范围内遗漏了一些值
有人建议我的问题吗?