create table phone_log(phone_number CHAR(20) NOT NULL,
area_code CHAR(10));
INSERT INTO phone_log(phone_number)
VALUES ('310-430-9201');
INSERT INTO phone_log(phone_number)
VALUES ('917-829-2876');
INSERT INTO phone_log(phone_number)
VALUES ('424-917-1055')
如何使用SUBSTRING FUNCTION为每行插入每个电话号码的区号?
我希望结果像下面这样:
2条答案
按热度按时间ztyzrc3y1#
在现有行中使用子字符串函数更新完成。请尝试以下查询:-
kq4fsx7k2#
如果
area_code
的长度可以变化(通常情况下),我建议使用split_part()
:参见:
如果必须冗余地存储
area_code
的函数相关值(我会尽量避免),请考虑使用生成的列:然后您原来的简单
INSERT
命令就可以工作了。参见:
无论哪种方式,你都不想使用
char(n)
,这是character(n)
的缩写。使用text
或varchar(n)
代替。参见:fiddle