修剪特定字符的字符串

时间:2014-02-01 06:15:08

标签: sql-server

我的表中有一列有时区。

示例:Australia/Brisbane

我只需要显示一部分字符串。

我需要展示Brisbane

所以,我在我的表中创建了一个名为'short_name'的新列,我想将其值设置为'Brisbane'。

有没有办法可以找到'/',然后将其余的字符串复制到新列中?

2 个答案:

答案 0 :(得分:3)

您可以使用类似的查询来选择/之后的值:

select substring(name, 
                 charindex('/', name) + 1, 
                 len(name) - charindex('/', name) + 1) 
from table1

SQL Fiddle demo

因此,如果您想更新新列,可以使用:

update table1
set newcolumn = substring(name, 
                 charindex('/', name) + 1, 
                 len(name) - charindex('/', name) + 1)

答案 1 :(得分:0)

尝试使用insert into select并在select语句中使用substring。

例如,函数SUBSTRING('212-555-1234',9,4)返回: '1234',传递列的名称和正确的索引。

SELECT SUBSTRING(<column_name>, position, length)
FROM <table_name>

然后使用Insert into语句。

INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;