【发布时间】:2019-09-30 16:36:26
【问题描述】:
在我的表格中,我有 2 列需要修复。第一列是“城市”,它包含城市和州的混合,并且仅包含城市。第二列是“状态”,混合了空值和状态。需要注意的是,当 Ciy 列同时包含 City 和 State 时,“State”列为 Null。
NEW YORK,NY | NULL
NEW YORK | NY
到目前为止,我已经编写了分隔“城市”列的代码;但是,当 City 列不包含 state 时,它会变为 ' ',然后 state 列会被“City”值填充。下面的后两列是“City_Split”和“State2”。
NEW YORK,NY | NULL | NEW YORK | NY
NEW YORK | NY | '' | NEW YORK
到目前为止,我已经尝试过 case 语句,但我只是感到困惑。
我想要:
NEW YORK,NY | NULL | NEW YORK | NY
NEW YORK | NY | NEW YORK | NY
SELECT
CITY, CPS,
SUBSTRING(CITY, 0, CHARINDEX(',', CITY, - 1)) AS CITY_SPLIT,
SUBSTRING(CITY, CHARINDEX(',', CITY) + 1, LEN(CITY)) AS STATE2
FROM srcFlatFile.dbo.SWIFT AS SWIFT
WHERE (ISO_COUNTRY_CODE = 'US')
如果我没有足够清楚地提出问题,我深表歉意,我一般是编码新手。
【问题讨论】:
-
SUBSTRING(CITY, 1, CHARINDEX(',', CITY) - 1))
标签: sql sql-server split