如何 TRIM 或截断 DB2 列中的第一个字符
How to TRIM OR TRUNCATE first character in DB2 column
我有第 phone 列的数值,我想更新 table 列,使国家/地区代码不存在。
19083452345
14084456789
12023458900
18163456789
我尝试使用 LPAD、LTRIM 但无法成功。
像这样使用 SUBSTR:
update tablename set phone=substr(phone,2,length(phone)-1)
使用正则表达式(regex)。在这样做之前,检查国家代码在你的数据库中的写入方式,正在使用什么标准,如果有的话(E.164 是趋势,但并不总是遵循)。例如,英国的 phone 手机号码可能注册为“07911 123456”或“+44 7911 123456”(有或没有空格)。 http://regexlib.com/Search.aspx?k=phone+number&c=0&m=0&ps=20&p=11&AspxAutoDetectCookieSupport=1
等页面中有大量的正则表达式
我不知道您使用的是哪种 Db2(用于 IBM i 的 Db2、用于 zOS 的 Db2 或用于 LUW 的 Db2),它们之间的正则表达式支持可能存在细微差异。以下文章解释了如何在 Db2 11.1 中为 LUW 使用正则表达式:https://www.idug.org/p/bl/et/blogaid=605
我有第 phone 列的数值,我想更新 table 列,使国家/地区代码不存在。 19083452345 14084456789 12023458900 18163456789
我尝试使用 LPAD、LTRIM 但无法成功。
像这样使用 SUBSTR:
update tablename set phone=substr(phone,2,length(phone)-1)
使用正则表达式(regex)。在这样做之前,检查国家代码在你的数据库中的写入方式,正在使用什么标准,如果有的话(E.164 是趋势,但并不总是遵循)。例如,英国的 phone 手机号码可能注册为“07911 123456”或“+44 7911 123456”(有或没有空格)。 http://regexlib.com/Search.aspx?k=phone+number&c=0&m=0&ps=20&p=11&AspxAutoDetectCookieSupport=1
等页面中有大量的正则表达式我不知道您使用的是哪种 Db2(用于 IBM i 的 Db2、用于 zOS 的 Db2 或用于 LUW 的 Db2),它们之间的正则表达式支持可能存在细微差异。以下文章解释了如何在 Db2 11.1 中为 LUW 使用正则表达式:https://www.idug.org/p/bl/et/blogaid=605