sql复制代码
| SELECT |
| SUBSTRING(province_field, |
| CHARINDEX('7 ', province_field) + 2, |
| CHARINDEX('`~`', province_field, CHARINDEX('7 ', province_field) + 2) - CHARINDEX('7 ', province_field) - 2) AS province_name |
| FROM |
| your_table_name; |
在这个SQL语句中:
CHARINDEX('7 ', province_field) 函数查找7后面跟着空格的位置。
CHARINDEX('~', province_field, CHARINDEX('7 ', province_field) + 2) 函数从7后面开始查找~符号的位置。
SUBSTRING 函数使用这两个CHARINDEX函数的结果来确定要提取的子字符串的开始和长度。
+ 2 是因为我们要跳过7和空格。
- CHARINDEX('7 ', province_field) - 2 是为了计算子字符串的长度。
请注意,这个SQL语句假设每个province_field字段的格式都是一致的,并且7后面紧跟的省份名称之前只有一个空格,并且在省份名称之后紧接着是~符号。如果格式有所变化,你可能需要调整CHARINDEX和SUBSTRING函数的使用来适应不同的格式。
另外,如果你的字段中包含全角空格或不可见字符,可能会影响CHARINDEX函数的正确工作。确保你的字段数据是干净的,并且确实包含你期望的字符。