0

嗨,我有一张名为agent2的表,其结构如下,

agents2
---------------
id , title

在 table.title 下有几条记录,其中包含 (www/http..etc) 例如

title= www.postgre.com

我想看到的是

title= postgre.com

是否有查询如果我执行会删除www.部分。谢谢你的帮助。

4

6 回答 6

1
UPDATE agents2 SET title = replace(title, 'www.', '') WHERE title LIKE 'www.%';       
于 2013-10-09T15:13:38.627 回答
1

你可以在 SQL Server 中尝试这样的事情

SELECT REPLACE ( title , 'www.' , '' ), id from agents2

例如

SELECT REPLACE ( 'www.example.com' , 'www.' , '' )

会给你'example.com'

不幸的是,它将取代所有出现的“www”。

例如

SELECT REPLACE ( 'www.examplewww.com' , 'www.' , '' )

会给你'examplecom'

有关更多示例,请参阅http://technet.microsoft.com/en-us/library/ms186862.aspx

于 2013-10-09T15:06:50.400 回答
1

SQL小提琴

SQLite (WebSQL) 架构设置

CREATE TABLE agents2
    ("id" INTEGER, "title" TEXT(24));

INSERT INTO agents2 ("id", "title") VALUES (1, 'www.postgre.com');
INSERT INTO agents2 ("id", "title") VALUES (2, 'http://stackoverflow.com');
INSERT INTO agents2 ("id", "title") VALUES (3, 'http://www.sqlfiddle.com');
INSERT INTO agents2 ("id", "title") VALUES (4, 'http://www.com-www.com/');

查询 1

SELECT REPLACE ( ' '||REPLACE ( title , 'http://' , '' ) , ' www.' , '' )
FROM agents2

结果

| REPLACE ( ' '||REPLACE ( title , 'http://' , '' ) , ' www.' , '' ) |
|--------------------------------------------------------------------|
|                                                        postgre.com |
|                                                  stackoverflow.com |
|                                                      sqlfiddle.com |
|                                                       com-www.com/ |
于 2013-10-09T15:14:38.867 回答
0

SQLite 有一个 instr() 函数。所以:

instr('title= www.postgre.com','www') 

将返回“www”的起始位置。您应该能够使用它以及子字符串和连接来获得您想要的值。

于 2013-10-09T15:16:19.837 回答
0

SEB BINFIELD 回答了我的问题。正是我所需要的。感谢 Fabien 提供了非常有用且易于掌握的解决方案。

UPDATE agents2 SET title = replace(title, 'www.', '') WHERE title LIKE 'www.%';
于 2013-10-09T15:20:08.007 回答
0

REPLACE将删除标题中所有出现的字符串。

这只会在开始时删除字符串。

UPDATE agents2 SET title = SUBSTR(title, 8) WHERE title LIKE 'http://%';
UPDATE agents2 SET title = SUBSTR(title, 5) WHERE title LIKE 'www.%';
于 2013-10-10T10:07:11.827 回答