在SQL查询中传递许多变量

时间:2012-02-13 15:13:34

标签: sql matlab syntax

有2个用户输入,violation_typevehicle。我想将这些变量传递给后端数据库,以便在Matlab中生成报告。我试过一个变量,它工作正常,但我不知道如何传递多个变量来根据用户搜索过滤数据库记录。

  

vehicle ='car';
  违规_type ='U turn';


  

'SELECT lic.licence_plate_num,lic.owner_name,lic.owner_address,lic.owner_tel_no,lic.owner_email,vio.violation_date,vio.violation_time,vio.vehicle_type,vio.violation_type FROM licence_plate_details lic RIGHT JOIN violated_vehicles vio ON lic。 licence_plate_num = vio.licence_plate_num其中vio.vehicle_type =''',vehicle,''''

1 个答案:

答案 0 :(得分:1)

在SQL查询中使用AND关键字以获取多个条件。您可以使用SPRINTF MATLAB函数插入变量参数。我还将您的查询分成多个子字符串以提高可读性。

sql = sprintf( [ ...
    'SELECT lic.licence_plate_num, lic.owner_name, lic.owner_address, '...
    'lic.owner_tel_no, lic.owner_email, vio.violation_date, '...
    'vio.violation_time, vio.vehicle_type, vio.violation_type '...
    'FROM licence_plate_details lic RIGHT JOIN violated_vehicles vio '...
    'ON lic.licence_plate_num = vio.licence_plate_num '...
    'WHERE vio.vehicle_type = "%s" AND vio.violation_type = "%s"' ], ...
    vehicle, violation_type );