pg sql base64
时间: 2023-08-25 20:07:42 浏览: 128
在 PostgreSQL 中,可以使用内置的 `encode()` 和 `decode()` 函数来进行 Base64 编码和解码。
Base64 编码可以使用以下语法:
```
SELECT encode('your string', 'base64');
```
例如,将字符串 "hello world" 进行 Base64 编码:
```
SELECT encode('hello world', 'base64');
```
输出结果为:
```
aGVsbG8gd29ybGQ=
```
Base64 解码可以使用以下语法:
```
SELECT decode('your base64 encoded string', 'base64');
```
例如,将上面编码后的字符串进行解码:
```
SELECT decode('aGVsbG8gd29ybGQ=', 'base64');
```
输出结果为:
```
hello world
```
需要注意的是,Base64 编码和解码时,第二个参数必须为字符串 "base64",否则会出现错误。
相关问题
select c.relname as "表名", cast(obj_description(c.oid) as varchar) as "表注释", a.attnum as "序号", a.attname as "字段名称", d.description as "字段注释", concat_ws('', t.typname, SUBSTRING(format_type(a.atttypid, a.atttypmod) from '\(.*\)')) as "字段类型" from pg_attribute a left join pg_description d on d.objoid = a.attrelid and d.objsubid = a.attnum left join pg_class c on a.attrelid = c.oid left join pg_type t on a.atttypid = t.oid where a.attnum >= 0 and c.relname in('ods_vem_busi_base') order by c.relname desc, a.attnum asc;这段pgsql查出的表结构每个字段都重复出现一次,这是为什么
这是因为这段 SQL 语句使用了多个表之间的连接查询,其中包含了 pg_attribute、pg_description、pg_class、pg_type 这些表。而每个字段都需要从不同的表中获取不同的信息,因此需要在每个表中查询一遍。这就导致了每个字段都会在结果集中出现多次。但是,每个字段所对应的信息都不相同,因此这种重复是必要的。
pg数据库decode函数
PG数据库中的`decode`函数是用于将二进制数据解码为文本的函数。它的语法如下:
```sql
decode(string text, format text)
```
其中,`string`是要解码的二进制数据,`format`是指定解码的格式。常见的格式包括:
- `'escape'`:表示使用C风格的反斜杠转义序列。
- `'base64'`:表示使用Base64编码。
以下是一个使用`decode`函数将Base64编码的字符串解码为文本的示例:
```sql
SELECT decode('SGVsbG8gd29ybGQ=', 'base64');
```
这将返回结果`"Hello world"`,将Base64编码的字符串解码为文本。请注意,`decode`函数只能解码二进制数据,而不能解码其他类型的数据。
阅读全文