我想不出一种方法来为我的表中的每条记录生成散列值.我正在将记录从一个SQL数据库插入到另一个数据库.我的源表和目标表是相同的,只是在目标表中我有一个额外的hash_dif列.如何根据表中的列创建散列值,然后将该散列值与我从源表中 Select 的所有数据一起插入到目标表中?

我想:

SELECT * FROM DBO.SOURCE_TABLE

我还想生成如下所示的散列值:

select HashBytes('md5',convert(varbinary(max),(SELECT * FROM DBO.SOURCE_TABLE FOR XML AUTO))) as hash1

我感到困惑,我应该如何从源中 Select 所有数据,同时生成散列值,然后在一个中 Select 该散列值?

推荐答案

如果您不想指定所有列,这只是另一种 Select .

Select A.*
      ,B.HB
 From  YourTable A
 Cross Apply ( values ( hashbytes('SHA2_512',(Select A.* for JSON PATH) ) ) ) B(HB)

Sql相关问答推荐

SUM(条件)在Oracle?

如何从JSON数组中 Select 多个值

不同表达方式时的大小写

对表进行多项 Select 以返回最大值和时间

SQL Athena/prest判断值是否在嵌套的json数组中

在WHERE EXISTS子查询中,列返回是否重要?

如何在MS Access中基于另外两个表自动填充一个表中的字段?

Postgresql 生成器列导致语法错误

使用长 IN 子句的 SQL 优化

基于变量的条件 WHERE 子句

如何使用SQL将患者平均分配给他们所在地区的doctor

每个ID的SQL返回可能的最低级别及其值

如何获取每个组中最近的n条记录并将它们聚合成数组

带聚合函数的 percentile_cont

HIVE SQL where 子句未按预期工作

使用 R 遍历 SQL 查询,每次替换一个变量

在 MySql 数据库中的两个日期之间搜索

条件前置值

如何使用 pg-promise 创建要在复杂的 sql 查询中使用的 VALUES 列表?

在 UTF 编码字符上应用 SQL LIKE 语句没有给出任何结果