我确定这非常简单,但我如何将LastName,FirstName转换为LastName,FirstInitial?
例如,将史密斯,约翰改为史密斯,约翰逊,约翰逊,约翰逊,J等等。
谢谢!
答案 0 :(得分:2)
如果是LastName和FirstName列:
select LastName,substr(FirstName,1,1)
from mytable
;
如果在一列中保存了全名:
select substr(fullname,1,instr(fullname || ',',',')-1) || substr(fullname,instr(fullname || ',',','),2)
from mytable
;
或
select regexp_replace (fullname,'([^,]*,?)(.).*','\1\2')
from mytable
;
答案 1 :(得分:0)
这是一种方法,只使用"标准" instr
和substr
。假设您的输入是'Smith,John'
格式的单个字符串:
select substr(fullname, 1, instr(fullname, ',')+1) from yourtable;
yourtable
是表格的名称,fullname
是列的名称。
instr(fullname, ',') finds the position of the comma within the input string (it would be 6 in 'Smith,John'); then
substr takes the substring that begins at the first position (the
1 in the function call) and ends at the position calculated by
instr`,加1(也可以获得第一个首字母)。