Pervasive是否有用于URL编码的SQL函数



我编写了一个查询,它构建了一些到intranet站点的URL,但有些URL不起作用,因为它们包含需要进行URL编码的特殊字符。我试图避免编写一个脚本(在SQL之外(来进行URL编码;我希望数据库改为进行URL编码,这样我就可以直接将数据(按原样(导出到csv文件中。

例如,我可以很容易地对一个字符进行编码。这里,我将&编码为%26:

select
customer_id 
,customer_name
,'https://intranet.local/customer/?id=' + replace(customer_id,'&','%26') as url
from customer

但是,当对多个字符进行编码时,这种方法会变得非常冗长。

Pervasive 13中是否有一个函数可以进行URL编码?

根据这里给出的答案,您可以使用创建一个函数

CREATE FUNCTION urlencode(:description char(200))
RETURNS char(200)
AS
BEGIN
SELECT 
Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(
Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(
Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(
Replace(RTRIM(:description)
,'%','%25')       ,'&','%26')       ,'$','%24')       ,'+','%2B')
,',','%2C')       ,':','%3A')       ,';','%3B')       ,'=','%3C')
,'?','%3D')       ,':','%3F')       ,'@','%40')       ,'#','%23')
,'<','%3C')       ,'>','%3E')       ,'[','%5B')       ,']','%5D')
,'{','%7B')       ,'}','%7D')       ,'|','%7C')       ,'^','%5E')
,' ','%20')       ,'~','%7E')       ,'`','%60')       ,'*','%2A')
,'(','%28')       ,')','%29')       ,'/','%2F')       ,'\','%5C')
,' ','%20') INTO :description;
RETURN :description;
END;

相关内容

  • 没有找到相关文章

最新更新