我看过these somewhat related articles寻找想法,并进行了一些搜索,例如“sqlite ltrim %”,但我很难弄清楚我做错了什么。
我想要做的是删除之前的所有内容,并在 SQLite 中包含一个空格。
一个主要问题是我必须使用 PortableApps 中的 SQLite,并且不能为此使用 MySQL。
我尝试过:
UPDATE `temp_Week17` SET `c_name`=ltrim(%,' ');
我以为我可以轻松地从前面修剪空格,但我得到了“near '%':语法错误。”
为了看看会发生什么,我也尝试过:
UPDATE temp_Week17
SET c_name = LEFT(c_name, CHARINDEX(' ', c_name) - 1)
WHERE CHARINDEX(' ', c_name) > 0
这会产生“near '(': 语法错误。”
我尝试过的另一种是:
UPDATE temp_Week17 SET c_name = ltrim(c_name, ' ');
该程序运行成功,但没有改变任何内容。
更新为按 @scaisEdge 添加:
该列的排列方式如下:
|c_name|
--------
|John Smith|
|Abe Lincoln|
|Taco Cat|
期望的结果是:
|c_name|
--------
|Smith|
|Lincoln|
|Cat|
非常感谢您的帮助!
最佳答案
您应该连接两个字符串(修剪后的字符串和空格)
UPDATE temp_Week17 SET c_name = ltrim(c_name) || ' ' ;
或者您需要修剪之前的空格
UPDATE temp_Week17 SET c_name = ' ' || ltrim(c_name) ;
根据提供的示例,您似乎需要子字符串
UPDATE temp_Week17 SET c_name = ltrim(substr( c_name, instr(c_name, ' '))) ;
关于sql - 更新列以删除 SQLite 中之前的所有内容并包括空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40708459/