我正在尝试将名字和姓氏分开。我有一列名为“ Fullname”(全名),并且在同一列中都有名字和姓氏以及逗号。我尝试了以下操作,但出现错误“其无效数字”。当我删除逗号时,它可以工作,因此我不确定如何在公式中加入逗号,以便它可以工作。
,substr(Fullname,1,',') as Lastname
,substr(Fullname,',',' ') as Firstname
Column
Fullname
Brown,John N
Green,Julie T
Desired results
Lastname FirstName
Brown John
Green Julie
答案 0 :(得分:1)
您可以使用regexp_substr()
:
select regexp_substr(name, '[^,]+', 1, 1) as lastname,
regexp_substr(name, '[^, ]+', 1, 2) as firstname
答案 1 :(得分:0)
SUBSTR()
的第二个参数是子字符串的位置,第三个参数是子字符串的长度。如果您在此处使用字符串而不是数字,它将不会自动搜索定界符。您可以使用LOCATE()
查找所需的职位。
SUBSTR(Fullname, 1, LOCATE(Fullname, ',')-1) AS Lastname,
SUBSTR(Fullname, LOCATE(Fullname, ',')+1) AS Firstname
答案 2 :(得分:0)
在以下情况下,可以使用email_addresses = ["foo@bar.com", "baz@far.com"]
p = Popen(["/usr/sbin/sendmail",
"-f", "author@company.com",
",".join(email_addresses)] , stdin=PIPE)
函数内的instr
以经典方式执行:
substr