首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL如何截断字符串

SQL如何截断字符串
EN

Stack Overflow用户
提问于 2010-07-31 03:34:20
回答 6查看 30.9K关注 0票数 4

我有一列字符串列,每个字符串列中包含城市、州和数字。

代码语言:javascript
复制
SPOKANE, WA           232/107
LAS VEGAS, NV         232/117
PORTLAND, OR          232/128

不止于此,我想知道如何在这一列中删掉数字,只显示城市和州,或者更好地显示-even -删掉数字,使城市和州成为一个单独的列。

对于所有不同的记录,列的格式都是相同的。

谢谢!

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-07-31 03:39:20

如果不为你做所有的工作...

城市:从位置0到第一次出现逗号- 1的列的子字符串。

状态:从第一个逗号出现后的2个位置到下一个空格位置的列的子字符串...已修剪。

请参阅:SUBSTRING()CHARINDEX()PATINDEX()

票数 8
EN

Stack Overflow用户

发布于 2010-07-31 03:42:15

要删除末尾的数字,请使用substring方法,如下所示。

代码语言:javascript
复制
@str = SUBSTRING(@str, LEN(@str)-7, 7)

为了分离城市和州,你需要一些分裂函数,但是我记不住语法了,对不起。

票数 2
EN

Stack Overflow用户

发布于 2010-07-31 03:46:18

我已经弄清楚了,并且已经写好了SQL...然后我看到了Fosco's answer,但既然我有它,我还是把它贴出来吧:

代码语言:javascript
复制
SELECT
    LEFT(yourcolumn, CHARINDEX(',', yourcolumn) - 1) AS City,
    RIGHT(LEFT(yourcolumn, CHARINDEX(',', yourcolumn) + 3), 2) AS State
FROM yourtable

此算法与Fosco算法的不同之处在于,此算法假设状态恰好为2个字母。如果这并不总是正确的,那么你应该使用另一个答案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3374763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档