在 SQL Server 中,可以使用 `EXEC` 或 `sp_executesql` 存储过程将字符串转换为公式并计算结果。以下是一个示例:
1. 首先,创建一个包含字符串的表:
```sql
CREATE TABLE dbo.StringTable (
    ID INT PRIMARY KEY,
    Formula NVARCHAR(MAX)
);
```
2. 然后,向表中插入一些数据:
```sql
字符串截取公式
INSERT INTO dbo.StringTable (ID, Formula)
VALUES (1, '3 + 5'), (2, '7 * 9');
```
3. 使用 `EXEC` 或 `sp_executesql` 存储过程将字符串转换为公式并计算结果:
```sql
-- 使用 EXEC
DECLARE @Result1 FLOAT;
DECLARE @Result2 FLOAT;
EXEC sp_executesql N'SELECT @Result1 = CASE WHEN Formula = ''3 + 5'' THEN 3 + 5 ELSE NULL END', N'@Result1 FLOAT OUTPUT', @Result1 OUTPUT;
EXEC sp_executesql N'SELECT @Result2 = CASE WHEN Formula = ''7 * 9'' THEN 7 * 9
ELSE NULL END', N'@Result2 FLOAT OUTPUT', @Result2 OUTPUT;
PRINT @Result1; -- 输出:8
PRINT @Result2; -- 输出:63
-- 使用 sp_executesql
DECLARE @Result1 FLOAT;
DECLARE @Result2 FLOAT;
EXEC sp_executesql N'SELECT @Result1 = CASE WHEN Formula = ''3 + 5'' THEN 3 + 5 ELSE NULL END', N'@Result1 FLOAT OUTPUT', @Result1 OUTPUT;
EXEC sp_executesql N'SELECT @Result2 = CASE WHEN Formula = ''7 * 9'' THEN 7 * 9 ELSE NULL END', N'@Result2 FLOAT OUTPUT', @Result2 OUTPUT;
PRINT @Result1; -- 输出:8
PRINT @Result2; -- 输出:63
```
在这个示例中,我们首先创建了一个包含字符串的表,然后向表中插入了一些数据。接下来,我们使用 `EXEC` 和 `sp_executesql` 存储过程将字符串转换为公式并计算结果。最后,我们打印出计算结果。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。