MySQL 通过SUBSTRING_INDEX函数拆分字符串为数组单元

vim test.sh
#Define variables
MYSQL_HOME=/usr
SQL_SCRIPT_DB_CONNECTION_STRING='-uroot -p'root''
SQL_SCRIPT_PARAMETERS_LIST="'PARAM1 PARAM2 PARAM3'"

#Execute the command
#CMD_SQL_SCRIPT_EXECUTION=${MYSQL_HOME}/bin/mysql  ${SQL_SCRIPT_DB_CONNECTION_STRING} -e "set  @VAR1=$SQL_SCRIPT_PARAMETERS_LIST ; source ${SQL_SCRIPT_FILE_LOCATION}/${SQL_SCRIPT_NAME}.sql ;" >> ${myLogFile}

${MYSQL_HOME}/bin/mysql  ${SQL_SCRIPT_DB_CONNECTION_STRING} -e "set  @VAR=$SQL_SCRIPT_PARAMETERS_LIST;
set @VAR_NUM=length(@VAR)-length(REPLACE(@VAR,' ',''))+1; /* define the total number of the variables  */
set @VAR_POS=0; /* define the variable position in the string */
/* define the variables' value, if the the variable doesn't exist, its value is null  */
set @VAR_1 = if(@VAR_POS < @VAR_NUM,SUBSTRING_INDEX(SUBSTRING_INDEX(@VAR, ' ', @VAR_POS:=@VAR_POS+1),' ',-1),null);
set @VAR_2 = if(@VAR_POS < @VAR_NUM,SUBSTRING_INDEX(SUBSTRING_INDEX(@VAR, ' ', @VAR_POS:=@VAR_POS+1),' ',-1),null);
set @VAR_3 = if(@VAR_POS < @VAR_NUM,SUBSTRING_INDEX(SUBSTRING_INDEX(@VAR, ' ', @VAR_POS:=@VAR_POS+1),' ',-1),null);
set @VAR_4 = if(@VAR_POS < @VAR_NUM,SUBSTRING_INDEX(SUBSTRING_INDEX(@VAR, ' ', @VAR_POS:=@VAR_POS+1),' ',-1),null);
set @VAR_5 = if(@VAR_POS < @VAR_NUM,SUBSTRING_INDEX(SUBSTRING_INDEX(@VAR, ' ', @VAR_POS:=@VAR_POS+1),' ',-1),null);
set @VAR_6 = if(@VAR_POS < @VAR_NUM,SUBSTRING_INDEX(SUBSTRING_INDEX(@VAR, ' ', @VAR_POS:=@VAR_POS+1),' ',-1),null);
set @VAR_7 = if(@VAR_POS < @VAR_NUM,SUBSTRING_INDEX(SUBSTRING_INDEX(@VAR, ' ', @VAR_POS:=@VAR_POS+1),' ',-1),null);
select @VAR_1, @VAR_2, @VAR_3, @VAR_4, @VAR_5, @VAR_6, @VAR_7;"

sh test.sh
Warning: Using a password on the command line interface can be insecure.
+--------+--------+--------+--------+--------+--------+--------+
| @VAR_1 | @VAR_2 | @VAR_3 | @VAR_4 | @VAR_5 | @VAR_6 | @VAR_7 |
+--------+--------+--------+--------+--------+--------+--------+
| PARAM1 | PARAM2 | PARAM3 | NULL   | NULL   | NULL   | NULL   |
+--------+--------+--------+--------+--------+--------+--------+

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26506993/viewspace-2125937/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26506993/viewspace-2125937/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值