如何在PostgreSQL中插入帶有超級腳本字符的字符串?特殊上標字符
我想插入「TM」作爲字符串「RACH」的力量?我想下面的查詢:
update contact SET name=E'RACH$^'TM where id='10782'
如何在PostgreSQL中插入帶有超級腳本字符的字符串?特殊上標字符
我想插入「TM」作爲字符串「RACH」的力量?我想下面的查詢:
update contact SET name=E'RACH$^'TM where id='10782'
我不知道是否有可能符號supersripts轉換,而無需創建該映射功能,但你可以手動寫:
update contact SET name='RACHᵀᴹ' where id='10782'
映射函數可以是這樣的:
create or replace function superscript(data text)
returns text
as
$$
declare
ss text[];
lt text[];
begin
ss := '{ᴬ,ᴮ,ᴰ,ᴱ,ᴳ,ᴴ,ᴵ,ᴶ,ᴷ,ᴸ,ᴹ,ᴺ,ᴼ,ᴾ,ᴿ,ᵀ,ᵁ}';
lt := '{A,B,D,E,G,H,I,J,K,L,M,N,O,P,R,T,U}';
for i in 1..array_length(ss, 1)
loop
data := replace(data, lt[i], ss[i]);
end loop;
return data;
end;
$$
language plpgsql;
使用專用字符®或™作爲商標符號。
UPDATE contact SET name = 'RACH™' WHERE id='10782' -- '™' not 'ᵀᴹ'
一些其他字符(但不是全部!)必須以Unicode標變種,但很多字體不支持這些外來代碼點,甚至不包括字形來表示它們。我會一般勸阻使用任何這些除了普通的¹²³。您通常會使用格式化來實現上標效果。
例如,在這裏的話,你可以使用:演示標ABC
這是對Wikipedia page on superscript characters<sup>demo superscript ABC</sup>
更多信息輸出。
如果你需要一個映射函數使用translate()
。
將是非常低效的。replace()
在循環中
translate('TM', 'ABDEGHIJKLMNOPRTU', 'ᴬᴮᴰᴱᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾᴿᵀᵁ');
這是很好的.. – Palaniraja
這個功能不好。你可以使用'translate()'。 –
謝謝你提到Erwin –