您好我有一个名为 agents2 的表格,其结构如下,
agents2
---------------
id , title
在table.title下有几条记录包含(www / http..etc)例如
title= www.postgre.com
我希望看到的是
title= postgre.com
是否存在查询,如果我执行那将删除www.
部分。谢谢你的帮助。
答案 0 :(得分: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
答案 1 :(得分:1)
UPDATE agents2 SET title = replace(title, 'www.', '') WHERE title LIKE 'www.%';
答案 2 :(得分:1)
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
<强> Results 强>:
| REPLACE ( ' '||REPLACE ( title , 'http://' , '' ) , ' www.' , '' ) |
|--------------------------------------------------------------------|
| postgre.com |
| stackoverflow.com |
| sqlfiddle.com |
| com-www.com/ |
答案 3 :(得分:0)
SQLite有一个instr()函数。所以:
instr('title= www.postgre.com','www')
将返回'www'的起始位置。您应该能够使用它以及子字符串和连接来获得所需的值。
答案 4 :(得分:0)
UPDATE agents2 SET title = replace(title, 'www.', '') WHERE title LIKE 'www.%';
答案 5 :(得分:0)
REPLACE
将删除标题中出现的所有字符串。
这只会在开头删除字符串。
UPDATE agents2 SET title = SUBSTR(title, 8) WHERE title LIKE 'http://%';
UPDATE agents2 SET title = SUBSTR(title, 5) WHERE title LIKE 'www.%';