sql - 使用字段 SQL 中的当前文本更新多行上的文本字段

标签 sql sql-server string import ssms

我有一个包含文本字段的表格,该表格导入了由空格分隔的错误字符。

---------------------
myTable:

id     text

1      text BADCHARACTERS
2      text2 DIFFERENTBADCHARACTERS
3      text3 ASDF
4      text4 VERYBADCHARACTERS
---------------------

预期输出

---------------------
myTable:

id     text

1      text
2      text2
3      text3
4      text4
---------------------

我需要运行更新以删除特定行数上空格后的所有文本。 我想出了一种方法来选择正确的文本,但我对如何批量更新感到困惑。

SELECT LEFT(text, CHARINDEX(' ', text) -1)
FROM myTable
WHERE ID = 1

将返回正确的字符串。

关于如何使用每行中的相应文本更新特定的集合记录有什么想法吗?

最佳答案

您可以将 select 中的逻辑直接放入 update 中:

update mytable
    set text = LEFT(text, CHARINDEX(' ', text) -1)
    where ID = 1 and text like '% %';

关于sql - 使用字段 SQL 中的当前文本更新多行上的文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65618078/

相关文章:

java - 使用 JDBC 模板的参数化 sql 查询

sql-server - Azure 数据库名称长度

mysql - 临时表发送大型结果集(临时表和发送大型结果集哪个更糟)

sql - SQL 中的日期时间四舍五入

sql-server - 休眠/SQL Server : default lock mode

ios - 如何在 swift 中转换一个 nil 字符串

java - 将一维字符串数组转换为二维字符数组

android - 使用 JSOUP 在网站上占据第一行?

php - foreach() SQL查询得到唯一的结果

java - UcanaccessSQLException : Unexpected page type 1