假设我有一列“Sqr”
39 м²
48 м²
50 м²
15 м²
38 м²
38 м²
35 м²
我想删除平方米,以便我的列看起来像这样:
39
48
50
15
38
38
35
我试过这个查询,但没有用
SELECT REPLACE(' 45 м²', ' м²', '');
我的 sqlite 查询应该是什么样子?
假设我有一列“Sqr”
39 м²
48 м²
50 м²
15 м²
38 м²
38 м²
35 м²
我想删除平方米,以便我的列看起来像这样:
39
48
50
15
38
38
35
我试过这个查询,但没有用
SELECT REPLACE(' 45 м²', ' м²', '');
我的 sqlite 查询应该是什么样子?
如果没有正则表达式替换,你能做的最好的就是智能替换:
UPDATE yourTable
SET Sqr = TRIM(REPLACE(Sqr, 'м²', ''));
这将在任何上下文中删除米平方符号,并且它还会修剪可能由删除创建的任何悬空空白。
这是一个显示 3 种方式的示例:-
DROP TABLE IF EXISTS mytable;
CREATE TABLE IF NOT EXISTS mytable (Sqr TEXT);
/*Option 1 */
INSERT INTO mytable VALUES('39 м²'),('48 м²'),('50 м²'),('15 м²'),('38 м²');
UPDATE mytable SET sqr = CAST(sqr AS INTEGER);
SELECT * FROM mytable;
/* Option 2 */
DELETE FROM mytable;
INSERT INTO mytable VALUES('39 м²'),('48 м²'),('50 м²'),('15 м²'),('38 м²');
UPDATE mytable SET sqr = replace(sqr,' м²','');
SELECT * FROM mytable;
/* Option 3 */
DELETE FROM mytable;
INSERT INTO mytable VALUES('39 м²'),('48 м²'),('50 м²'),('15 м²'),('38 м²');
UPDATE mytable SET sqr = substr(sqr,1,instr(sqr,' м²')-1);
SELECT * FROM mytable;