一个表有两列:
1.id
2.answer我要把answer的最后一句话去掉。比如此表有如下数据:
id answer
1 如果您向专家提问,专家在登录CSDN网站后将第一时间内得到通知,并且为您提供答案。如果需要向指定的专家提问,您需要至少100分可用分。
2 在SQL查询分析器里修改表中数据(语句不会写)。修改 SQL 语句。
修改以后的数据为:
id answer
1 如果您向专家提问,专家在登录CSDN网站后将第一时间内得到通知,并且为您提供答案。
2 在SQL查询分析器里修改表中数据(语句不会写)。answer里只考虑逗号和句号就可以了,不需要考虑问好和感叹号之类的符号。即只要删除倒数第二个逗号后面的内容即可。
这句sql语句怎么写?等待各位前辈的解答。
1.id
2.answer我要把answer的最后一句话去掉。比如此表有如下数据:
id answer
1 如果您向专家提问,专家在登录CSDN网站后将第一时间内得到通知,并且为您提供答案。如果需要向指定的专家提问,您需要至少100分可用分。
2 在SQL查询分析器里修改表中数据(语句不会写)。修改 SQL 语句。
修改以后的数据为:
id answer
1 如果您向专家提问,专家在登录CSDN网站后将第一时间内得到通知,并且为您提供答案。
2 在SQL查询分析器里修改表中数据(语句不会写)。answer里只考虑逗号和句号就可以了,不需要考虑问好和感叹号之类的符号。即只要删除倒数第二个逗号后面的内容即可。
这句sql语句怎么写?等待各位前辈的解答。
update table set answer=substr(answer,1,instr(answer,'。',-1,2));
请前辈点评
你那个是想取哪部分如果instr用4个参数的话,第一个应该是 截取的起始位置,第二是字符串,第三是匹配串,第四是截止位置
在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
C1 被搜索的字符串
C2 希望搜索的字符串
I 搜索的开始位置,默认为1
J 出现的位置,默认为1
SQL> select instr('oracle traning','ra',1,2) instring from dual;INSTRING
---------
9
你先试试这个对不对,我没有用instr取过倒数第二
instr的用法我在看一下
这样就可以了
这样就可以了
update table set answer=substr(answer,1,instr(answer,'。',-1,2));
这个就符合你的要求了
update table set answer=substr(answer,1,instr(answer,'。',-1,2));