重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
1、將傳遞過來的值進行分割
成都創新互聯主要從事網站制作、做網站、網頁設計、企業做網站、公司建網站等業務。立足成都服務榮昌,十多年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:13518219792
用,分割成數組
例如:$var=explode(",",$str);
2、循環數組
3、在循環內查詢sql
查詢時候
有兩種方法
按照sql語法或者PHP語法
sql
用
find_in_set(str1,str2);
php
用
strpos(str1,str2,start);
具體語法格式自己搜索一下吧。
我試了,導出的數據本來是有換行符號的,但是是linux格式的換行符。
用記事本打開是沒法看到換行符,所以內容都連成了一行。
所以你可以有兩個辦法:
1.用editplus打開文件去查看。
2.用查詢拼個可視分隔符在后面:
select CONCAT(name, '|') from table into outfile '/test.txt';
還是推薦你用editplus等這些比較專業的編輯器,windows自帶的那個記事本除了換行有問題,要是遇上utf8編碼的文件也會顯示亂碼,最好不要用它做數據處理。
這個應該可以使用字符串拼接,你是不是這樣寫存儲過程:
create procedure p_proc(var_in int)
begin
delete from [tableName] where [colName] in (var_in);
end
然后又這樣調用:
call p_proc(1, 2, 3);
這樣肯定不行,那么你可以這樣:
create procedure p_proc(var_in varchar(5000))
begin
set @sql = concat("delete from [tableName] where [colName] in (", var_in, ")");
prepare stmt_exe_sql from @sql;
execute stmt_exe_sql;
deallocate prepare stmt_exe_sql;
end
這樣就相當于把(1, 2, 3)拼接成語句"delete from [tableName] where [colName] in (1, 2, 3)", 然后執行,就可以刪除了。
逗號是普通符號,和數字、字母一樣,可以直接作為一般字符添加到字符、文本類型的字段里面。
如果你是表名、字段名,最好建議別用逗號,偏要使用可以用``括起來。
如果以上回答無法解決你的問題,請粘貼你的語句,大家給你修改正確。
mysql手冊中如是說:
IF(expr1,expr2,expr3)
如果 expr1 為真(expr1 0 以及 expr1 NULL),那么 IF() 返回 expr2,否則返回 expr3。IF() 返回一個數字或字符串,這取決于它被使用的語境:
mysql SELECT IF(12,2,3);
- 3
mysql SELECT IF(12,'yes','no');
- 'yes'
mysql SELECT IF(STRCMP('test','test1'),'no','yes');
- 'no'
如果 expr2 或 expr3 明確地為 NULL,那么函數 IF() 的返回值類型為非 NULL 列的類型。(這在選擇在 MySQL 4.0.3 中新加入)。 expr1 是作為一個整數值被計算的,這就意味著,如果測試的是一個浮點型或字符串值,就必須進行比較操作:
mysql SELECT IF(0.1,1,0);
- 0
mysql SELECT IF(0.10,1,0);
- 1
在上面第一種情況下,IF(0.1) 返回 0,是因為 0.1 被轉換為一個整數值,返回 IF(0) 的測試結果。這可能不是你所期望的。在第二種情況下,比較測試原浮點數是否為一個非零值。比較的結果被作為整數使用。 缺省的 IF() 返回值類型 (當結果存儲在臨時表中時,這是非常重要的) 在 MySQL 3.23 中按下列方式確定: 表達式 返回值
表達式(expr2)或表達式(expr3)返回值為字符串 字符串
表達式(expr2)或表達式(expr3)返回值為浮點型值 浮點型
表達式(expr2)或表達式(expr3)返回值為整型 整型
如果表達式(expr2)和表達式(expr3)均是字符串,同時兩個字符串均是忽略字母大小寫的,那么返回值也是忽略字母大小寫的(從 MySQL 3.23.51 開始)。