我在PostgreSQL中有一个简单的表,称为关键字,带有一个名为name的简单文本字段.我想以首字母大写转换所有关键字的名称.有没有办法从psql控制台做到这一点?
Den*_*rdy 56
有一个initcap()函数,如果你的意思是大写每个关键字的第一个字母,并小写以下字符:
update foo
set bar = initcap(bar)
Run Code Online (Sandbox Code Playgroud)
其他组合substring()和upper():
update foo
set bar = upper(substring(bar from 1 for 1)) ||
substring(bar from 2 for length(bar))
Run Code Online (Sandbox Code Playgroud)
http://www.postgresql.org/docs/current/static/functions-string.html
select initcap('r. lópez viña tondonia Rioja White Viña');
Run Code Online (Sandbox Code Playgroud)
这确实给出了我们的Postgres版本(9.0.7)中的正确答案(R.LópezViñaTondoniaRiojaWhiteViña).