MySql 動態條件查詢
阿新 • • 發佈:2021-11-28
本文講述 C++ 單個介面實現MySql 動態條件查詢的方法。有這樣一個場景:資料庫表有A、B、C、D、E
欄位,根據入參 決定查詢欄位中是這5個欄位其中一個或是多個(如果入參相關欄位對應的變數是空則忽略)。
解決這個問題的關鍵是藉助MySql IF 語句,下面給出基於Poco的示例。
session << "select * from CGAlarmInfo where 1=1 \ and if(?='""',1=1,PlatformId=?)\ and if(?='""',1=1,DeviceId=?) \ and if(?='""',1=1,AlarmName=?) \ and if(?=-1,1=1,AlarmLevel=?) \ and if(?='""',1=1,AlarmTime>=?) \ and if(?='""',1=1,AlarmTime<=?) \ ", into(alarmingInfos), use(alarmSearch.PlatformId), use(alarmSearch.PlatformId), \ use(alarmSearch.DeviceId), use(alarmSearch.DeviceId), \ use(alarmSearch.AlarmName), use(alarmSearch.AlarmName), \ use(alarmSearch.AlarmLevel), use(alarmSearch.AlarmLevel), \ use(alarmSearch.StrStartTime), use(alarmSearch.StrStartTime), \ use(alarmSearch.StrEndTime), use(alarmSearch.StrEndTime), \
如需交流可加QQ群766718184,1038388075 或者QQ3501870,