sql - 在 PostgreSQL 中混淆相同长度的名称

标签 sql postgresql

我的数据库中有一个 users 表,其中包含 first_name 列和 last_name 列,我想混淆名称但保留它们具有相同的原始长度和大小写,因此,例如,“Aiden”将是“Xxxxx”,“Pierce”将是“Xxxxxx”

最好的方法是什么?

最佳答案

您可以使用函数REPEAT .

select 
case when initcap(first_name)=first_name then initcap(repeat('x',length(first_name))) else repeat('x',length(first_name)) end,
case when initcap(last_name)=last_name then initcap(repeat('x',length(last_name))) else repeat('x',length(last_name)) end
from tablename

关于sql - 在 PostgreSQL 中混淆相同长度的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44013263/

相关文章:

php - 使用大量数据创建查询的最佳方法是什么?

c# - 将 NULL 值传递给 LINQ 中的日期时间字段

java - 什么时候在 JDBC 上使用批处理操作更快?

专家的 SQL 嵌套计数

sql - PostgreSQL 更新并返回

mysql - 在 PostgreSQL 中运行 MySQL 查询时出错

sql - 如何获得符合 PostgreSQL 标准的行的百分比?

mysql - 局部变量和前面的列

postgresql - 无法启动 postgresql.service?

mysql - 在 A 行上左连接多个 B 行时如何对 A 行列求和