SQL Server : select value, 在分隔符上拆分,然后更新两列

标签 sql sql-server

我有一个包含三个 varchar 列的 SQL Server 2008 数据库表 - Col1, Col2, Col3Col1 中有数据,中间有一个空格,Col2Col3 为空。

我需要编写一个查询来从 Col1 中选择数据,使用空格作为分隔符分解每个值,并将空格两侧的数据分别插入到 Col2Col3 中。

我不太确定如何继续。这可以在 SQL 中完成,还是我应该创建一个小程序来为我完成这项工作?如果这可以通过 SQL 完成,我将不胜感激。

谢谢。

最佳答案

UPDATE table SET 
  Col2 = SUBSTRING(Col1, 1, CHARINDEX(' ', Col1)-1), 
  Col3 = SUBSTRING(Col1, CHARINDEX(' ', Col1)+1, 8000)
WHERE Col1 LIKE '% %';

关于SQL Server : select value, 在分隔符上拆分,然后更新两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7125286/

相关文章:

sql-server - 尝试从 SSRS 访问 Oracle DB 时出现 SSL/钱包错误

java - 如何从 Netbeans 中的 pl/sql 函数获取结果

c# - 在 SQL 中克隆带有主键的行?

sql-server - 在存储过程中批处理多个合并是个好主意吗

mysql - 如何按字母顺序查询多个表?

sql-server - 如何将 Windows 用户添加到 SQL Server 2012 中的 sysadmin 服务器角色?

sql-server - SQL Server 2005 用户映射到底是什么?

mysql - 哪个更快 : correlated subqueries or join?

Mysql根据另一个表插入多条记录

php - 优化MySQL近匹配查询