PGSQL 查询结果自定义字符集为utf8mb4_0900_ai_ci
时间: 2023-07-28 20:17:19 浏览: 86
在 PGSQL 中,没有直接的内置字符集支持utf8mb4_0900_ai_ci。但是,可以通过使用 COLLATE 关键字指定一个自定义的排序规则来间接实现utf8mb4_0900_ai_ci。
例如,以下查询将会以utf8mb4_0900_ai_ci字符集对查询结果进行排序:
```
SELECT column_name FROM table_name ORDER BY column_name COLLATE "utf8mb4_0900_ai_ci";
```
其中,column_name 为需要排序的列名,table_name 为表名,"utf8mb4_0900_ai_ci"为自定义的排序规则名称。
需要注意的是,虽然可以通过 COLLATE 关键字实现类似于utf8mb4_0900_ai_ci的排序规则,但由于 PGSQL 没有直接的支持,因此可能会出现一些问题。建议在存储数据时就使用正确的字符集和排序规则,避免后续转换带来的问题。
相关问题
PGSQL 查询结果自定义字符集
在 PGSQL 中,可以通过使用 CAST 函数将查询结果转换为指定的字符集。例如:
```
SELECT CAST(column_name AS VARCHAR(100) CHARACTER SET charset) FROM table_name;
```
其中,column_name 为需要转换字符集的列名,table_name 为表名,charset 为目标字符集名称。
需要注意的是,转换字符集可能会导致数据丢失或乱码,因此需要谨慎使用。建议在存储数据时就使用正确的字符集,避免后续转换带来的问题。
怎么把CREATE TABLE bi_app_user_expiry_time ( pkid varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', user_pkid varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户id', expiry_time varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '有效期', update_user varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人', update_time varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改日期', PRIMARY KEY (pkid) USING BTREE, UNIQUE KEY uk_pkid (pkid) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户资源有效期表';改成pgsql建表语句
CREATE TABLE bi_app_user_expiry_time (
pkid varchar(30) NOT NULL PRIMARY KEY,
user_pkid varchar(30) NOT NULL,
expiry_time varchar(100) NOT NULL,
update_user varchar(30),
update_time varchar(100),
CONSTRAINT uk_pkid UNIQUE (pkid)
);
COMMENT ON TABLE bi_app_user_expiry_time IS '用户资源有效期表';
阅读全文
相关推荐
















