我正在尝试更新CITY字段。这是针对加拿大的地址,但我会为我的问题保持简单。 CITY字段只包含一个单词,其中STATE字段包含多个单词(通常不超过3个单词用空格分隔。),但大多数STATE值包含两个用空格分隔的单词。
示例:CITY将显示NEW,STATE将显示YORK NY
现在我正在尝试用它来更新CITY以显示纽约。还没有到达我需要更新STATE的部分。我想宝贝步骤。
我拥有什么:
UPDATE TABLE
SET CITY = CITY || ' ' || SUBSTR(STATE, 1, INSTR(STATE, ' '))
WHERE SUBSTR(STATE, 1, INSTR(STATE, ' ')) IS NOT NULL;
当我跑步时:
SELECT CITY || ' ' || SUBSTR(STATE, 1, INSTR(STATE, ' '))
WHERE SUBSTR(STATE, 1, INSTR(STATE, ' ')) IS NOT NULL;
我得到了STATE字段的第一个字,所以它告诉我,我有点正常。
有关此的任何信息将不胜感激。
感谢。
答案 0 :(得分:0)
如果您正在尝试更正数据(虽然我而不是100% - 如果是这种情况)那么您的代码似乎没问题。
创建表t1(city varchar2(100),state varchar2(100)) 插入t1值('NEW','YORK NY')
更新t1 set city = city ||' '|| SUBSTR(STATE,1,INSTR(STATE,'')) WHERE SUBSTR(STATE,1,INSTR(STATE,''))不是NULL;
现在城市专栏:纽约
从t1选择状态,SUBSTR(状态,长度(状态)-1,INSTR(状态,'')) WHERE SUBSTR(STATE,1,INSTR(STATE,''))不是NULL;