首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用sql UPDATE查询更改字符串

使用sql UPDATE查询更改字符串
EN

Stack Overflow用户
提问于 2015-01-07 16:37:48
回答 2查看 171关注 0票数 0

问题

如何将以下代码从SGC1-0001[更改为SGC1-001

表为stations,列为code。我需要使用更新查询,但不确定如何使用它。

列中有更多的记录略有不同,但我应该能够用一个示例来计算它。

样本数据

我想把它们一分为二,虽然一次一个也不想做。

代码语言:javascript
复制
SGC1-0001[
SGC1-0002[
..
SGC1-0019[
SGC1-0021[
SGC2-0001[
SGC2-0002[
..
SGC2-0016[
SGC2-0017[
SGC3-0003[
SGC3-0004[
...
SGC4-0018[
SGC4-0021[
SGC4-0022[
SGC4-0025[
SGC4-0029[

逻辑(伪码)

代码语言:javascript
复制
Delete first 0 and last [ from all
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-07 16:41:19

如果您想要修剪该列中所有记录的最后一个字符,并删除前面的0,下面的操作应该可以做到这一点:

代码语言:javascript
复制
UPDATE stations 
SET    code = REPLACE(LEFT(code, LEN(code) - 1), '-0', '-')

如果您只是想替换前面的0,请执行以下操作:

代码语言:javascript
复制
UPDATE stations 
SET    code = REPLACE(code, '-0', '-')

此外,以下几点可能是值得注意的:

字符串函数

票数 3
EN

Stack Overflow用户

发布于 2015-01-07 16:39:03

试一试,更新查询

因为您的所有代码最后都有“[”,所以您可以使用此查询。它将从所有记录中删除最后一个'[''-'之后的前0。

代码语言:javascript
复制
UPDATE stations
SET  CODE = LEFT(replace(code,right(code,1),''),4) + '-'+
            RIGHT(RIGHT(replace(code,right(code,1),''),4),3)

它将把SGC1-0029[替换为SGC1-029SGC1-0001[替换为SGC1-001

最好参考一些sql basic 教程

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

https://stackoverflow.com/questions/27824145

复制
相关文章

相似问题

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