豪爽的豌豆 · 对比 SQL ...· 1 周前 · |
激动的烤地瓜 · 加盟哈尔滨中式快餐之前,中式快餐趋势你得知道 ...· 2 月前 · |
微笑的闹钟 · java.lang.AssertionErr ...· 5 月前 · |
酒量大的足球 · 铃木常吉 《深夜食堂》主题曲原是纪念亡友· 5 月前 · |
坐怀不乱的乌冬面 · How to Deploy an ...· 5 月前 · |
温柔的炒粉 · 经济与金融前沿论坛 ...· 6 月前 · |
我在PostgreSQL中有一个名为keywords的简单表,其中有一个名为name的简单文本字段。我想转换所有名称的关键字的第一个字母大写。有没有办法在psql控制台上做到这一点?
发布于 2011-05-30 20:13:29
有一个
initcap()
函数,如果你想要大写每个关键字的第一个字母,而小写下面的字符:
update foo
set bar = initcap(bar)
否则结合使用
substring()
和
upper()
update foo
set bar = upper(substring(bar from 1 for 1)) ||
substring(bar from 2 for length(bar))
http://www.postgresql.org/docs/current/static/functions-string.html
发布于 2015-02-03 23:37:44
select initcap('r. lópez viña tondonia Rioja White Viña');
在我们的Postgres版本(9.0.7)中,这确实给出了正确的答案(R. López Viña Tondonia Rioja White Viña)。
发布于 2018-04-16 04:58:45
initcap函数将特殊字符(破折号、撇号等)后面的字母大写。我只想在空格后大写。
与Denis的答案类似,此函数将转换每个单词的第一个字母(以空格分隔)
CREATE OR REPLACE FUNCTION titlecase(instr varchar) RETURNS varchar AS $$
DECLARE
strarray varchar[] := string_to_array(inStr, ' ');
outstrarray varchar[];
word varchar;
BEGIN
FOREACH word IN ARRAY strarray
微笑的闹钟 · java.lang.AssertionError: Expected test to throw (an instance of android.os.RemoteException and exce 5 月前 |
酒量大的足球 · 铃木常吉 《深夜食堂》主题曲原是纪念亡友 5 月前 |