SQL中一个字段中的多个数值批量赋值给多个变量
时间: 2023-05-20 12:07:11 浏览: 79
可以使用 MySQL 中的 FIND_IN_SET 函数来实现这个功能,示例代码如下:
```
SET @str = '1,2,3,4,5';
SET @var1 = SUBSTRING_INDEX(@str, ',', 1);
SET @str = SUBSTRING(@str, LENGTH(@var1) + 2);
SET @var2 = SUBSTRING_INDEX(@str, ',', 1);
SET @str = SUBSTRING(@str, LENGTH(@var2) + 2);
SET @var3 = SUBSTRING_INDEX(@str, ',', 1);
SET @str = SUBSTRING(@str, LENGTH(@var3) + 2);
SET @var4 = SUBSTRING_INDEX(@str, ',', 1);
SET @str = SUBSTRING(@str, LENGTH(@var4) + 2);
SET @var5 = @str;
SELECT @var1, @var2, @var3, @var4, @var5;
```
这段代码将字符串 '1,2,3,4,5' 中的五个数值分别赋值给了五个变量 @var1、@var2、@var3、@var4 和 @var5。
相关问题
SQL中一个字段中的多个数值赋值给多个变量
可以使用字符串函数和变量赋值语句来实现。假设字段名为"field1",包含多个数值,可以使用以下代码:
DECLARE @var1 INT, @var2 INT, @var3 INT;
SELECT @var1 = CAST(SUBSTRING(field1, 1, CHARINDEX(',', field1)-1) AS INT),
@var2 = CAST(SUBSTRING(field1, CHARINDEX(',', field1)+1, CHARINDEX(',', field1, CHARINDEX(',', field1)+1)-CHARINDEX(',', field1)-1) AS INT),
@var3 = CAST(SUBSTRING(field1, CHARINDEX(',', field1, CHARINDEX(',', field1)+1)+1, LEN(field1)-CHARINDEX(',', REVERSE(field1))) AS INT)
FROM table1;
这样就可以将字段中的三个数值分别赋值给三个变量。
SQL字段给多个变量批量赋值
可以使用INSERT INTO语句来给多个变量批量赋值,例如:
INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3), (value4, value5, value6), (value7, value8, value9);
其中,table_name是表名,column1、column2、column3是表中的字段名,value1、value2、value3、value4、value5、value6、value7、value8、value9是要赋给这些字段的值。可以在VALUES后面添加多个括号,每个括号内表示一组要赋值的变量。