第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將數(shù)組傳遞給MySQL存儲(chǔ)例程

將數(shù)組傳遞給MySQL存儲(chǔ)例程

我需要將字符串?dāng)?shù)組作為參數(shù)傳遞給MySQL存儲(chǔ)例程。該數(shù)組可能很長,其元素?cái)?shù)量不是固定的。然后,我想將字符串值放入具有一列的內(nèi)存表中,以便可以處理數(shù)據(jù)。我不知道這是否可以在MySQL中完成。也許需要骯臟的解決方法。例如,我有字符串值:Banana, Apple, Orange現(xiàn)在,我想從MySQL Fruits表中獲取有關(guān)這些水果的數(shù)據(jù)。偽代碼:create function GetFruits(Array fruitArray)    declare @temp table as      fruitName varchar(100)   end   @temp = convert fruitArray to table   select * from Fruits where Name in (select fruitName from @temp)endMicrosoft SQL Server允許您使用TEXT數(shù)據(jù)類型并將數(shù)組作為XML字符串提交,從而快速創(chuàng)建內(nèi)存表。但是,我認(rèn)為該技術(shù)不可能在MySQL中實(shí)現(xiàn)。任何有關(guān)如何執(zhí)行此操作的幫助將不勝感激!
查看完整描述

4 回答

?
蝴蝶不菲

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

您可以在列表中傳遞字符串,并使用準(zhǔn)備好的語句來運(yùn)行查詢,例如-


DELIMITER $$


CREATE PROCEDURE GetFruits(IN fruitArray VARCHAR(255))

BEGIN


  SET @sql = CONCAT('SELECT * FROM Fruits WHERE Name IN (', fruitArray, ')');

  PREPARE stmt FROM @sql;

  EXECUTE stmt;

  DEALLOCATE PREPARE stmt;


END

$$


DELIMITER ;

如何使用:


SET @fruitArray = '\'apple\',\'banana\'';

CALL GetFruits(@fruitArray);


查看完整回答
反對 回復(fù) 2019-10-08
?
眼眸繁星

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊

只需像這樣使用FIND_IN_SET:


mysql> SELECT FIND_IN_SET('b','a,b,c,d');

        -> 2

因此,您可以執(zhí)行以下操作:


select * from Fruits where FIND_IN_SET(fruit, fruitArray) > 0


查看完整回答
反對 回復(fù) 2019-10-08
?
至尊寶的傳說

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊

這有助于我做IN條件,希望這對您有幫助。


CREATE  PROCEDURE `test`(IN Array_String VARCHAR(100))

BEGIN

    SELECT * FROM Table_Name

    WHERE FIND_IN_SET(field_name_to_search, Array_String);


END//;

致電:


 call test('3,2,1');


查看完整回答
反對 回復(fù) 2019-10-08
  • 4 回答
  • 0 關(guān)注
  • 689 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號