In meinem Code übergebe ich eine Zeichenfolge-Variable ('4,5,6') an meine gespeicherte Prozedur, die aus dieser Zeichenfolge (4,5,6-Name). Ich benutze IN-Klausel in gespeicherten Prozedur und ich weiß, dass IN-Klausel akzeptieren ('4', '5', '6') oder einfach (4,5,6) diese Art von Daten, aber ich kann es nicht in meinem verwenden gespeicherte Prozedur. Bitte hilf mir, wenn es einen anderen Weg gibt, es zu erreichen.Verwendung von Zeichenfolge in IN-Klausel in gespeicherten Prozedur mysql
CREATE DEFINER = 'root'@'localhost'
PROCEDURE kbm.report_site_transfer(IN siteid VARCHAR(50), IN datefrom VARCHAR (15), IN dateto VARCHAR (15))
SELECT
*
FROM
tbl_transfer
WHERE
tbl_transfer.siteNameID IN (siteid) AND (tbl_transfer.paymentDate BETWEEN datefrom AND dateto);
Was ist der Wert von 'site_id' –
@Uchiha eigentlich bin ich eine Zeichenfolge (4,5,6-anyname) explodiert und explodierte es mit "-" seperator und möchte ersten Wert in IN-Klausel (4,5,6) verwenden, aber wenn ich den Typ in PHP überprüft, zeigt es eine Zeichenfolge, so kann ich nicht in IN-Klausel in gespeicherten Prozedur verwenden – Paramjeet
Siehe dazu Erstellen und Ausführen einer Abfragezeichenfolge dynamisch http://stackoverflow.com/questions/8549619/mysql-dynamical-build-query-string-in-a-stored-procedure-based-on-logic. Sie müssten die umgebenden einfachen Anführungszeichen in dem übergebenen Parameter hinzufügen. – PaulF