用SQL SERVER语句写出,同一表字段A中包含C*B的字符,拆分查出C和B,把C赋值给D字段,把B赋值给E字段,C和B是一段变动的数字
时间: 2024-03-02 20:54:27 浏览: 61
数据库sqlserver攻关
4星 · 用户满意度95%
可以使用SQL SERVER的UPDATE语句和SUBSTRING函数来实现将一个字段中的字符串拆分成两个部分,并将这两个部分分别赋值给另外两个字段的操作。具体的方法如下所示:
```sql
UPDATE 表名 SET D = SUBSTRING(A, 1, CHARINDEX('*', A) - 1), E = SUBSTRING(A, CHARINDEX('*', A) + 1, LEN(A) - CHARINDEX('*', A))
WHERE A LIKE '%[0-9]*[0-9]%'
```
其中,表名为要更新的表的名称,A为要拆分的字段的名称,D和E分别为要赋值的字段的名称,'*'为A字段中C和B之间的分隔符,[0-9]表示数字。
例如,如果要将表中字段A中的字符串“3*4”分别赋值给字段D和字段E,可以使用以下语句:
```sql
UPDATE 表名 SET D = SUBSTRING(A, 1, CHARINDEX('*', A) - 1), E = SUBSTRING(A, CHARINDEX('*', A) + 1, LEN(A) - CHARINDEX('*', A))
WHERE A LIKE '%[0-9]*[0-9]%'
```
这样就可以实现将一个字段中的字符串拆分成两个部分,并将这两个部分分别赋值给另外两个字段的操作,同时限制A字段中必须包含数字。
阅读全文