SQLServerCEはCOALESCE
私のコラムが気に入らないようです。
クエリにが含まれている場合、クエリは次COALESCE(ep.value, '') as id
のように失敗します
パラメータが無効です
(case ep.value when null then '' else ep.value end
)を使用してみましたが、他のエラーNTEXT
などが発生します。
nullをnull以外の何かに変換する別の方法を知っている人はいますか?
アップデート:
完全なクエリはかなり複雑で、説明するのに長い時間がかかりますが、ここでは好奇心旺盛な人のためのものです。
SELECT COALESCE(ep.value, '') as domainId , [p].[id], [p].[firstName], [p].[middleName], [p].[lastName], [p].[isDeleted], ...
FROM Patient p
INNER JOIN PatientOrganisation po on p.id = po.patientFk
left join extendedproperty ep on ep.entityId = p.id
left join (select sgu.id, sgu.unitFk
from StaffGroupUnit sgu
where sgu.staffGroupFk = '3d364f5b-b5ff-456a-bf33-d8b48bf195b2' and sgu.isDeleted = 0) as bat on bat.unitFk = po.unitFk
where p.isDeleted = 0 and po.isDeleted = 0 AND
COALESCE(ep.metadatafk,'55b009d5-cead-4b62-ad04-526b57a02ed2')='55b009d5-cead-4b62-ad04-526b57a02ed2' and
COALESCE(ep.isdeleted,0)=0 AND
(not exists(select 1 from staffgroupunit sgu where sgu.staffGroupFk = '3d364f5b-b5ff-456a-bf33-d8b48bf195b2' and sgu.isDeleted=0) OR bat.id IS NOT NULL)
order by p.lastName, p.firstName
はい、私はこのクエリが恐ろしいことを知っています、そして私は実際にそれのいくつかの部分を削除することによって問題を修正しました。本当に興味深いのは、このクエリがほとんど機能することです。'パラメータが無効です'で失敗した場合、VisualStudioまたはManagementStudioを使用してまったく同じクエリを実行でき、問題なく動作します。
当社の製品の1つがWindowsMobileであるため、CE3.5を使用しています。これは、アップグレードで修正されるCEの単なるバグだと思います。
乾杯