1
有沒有一種方法來創建這樣一個計算列如下:Compued列FOR XML RAW HASHBYTES
HASHBYTES('SHA1', (SELECT [EmployeeID],[ClientID] FOR XML RAW))
我想保持它FOR XML RAW,因爲這是它是如何在其他地方完成,但跟它子查詢不能在計算列中使用。
有沒有一種方法來創建這樣一個計算列如下:Compued列FOR XML RAW HASHBYTES
HASHBYTES('SHA1', (SELECT [EmployeeID],[ClientID] FOR XML RAW))
我想保持它FOR XML RAW,因爲這是它是如何在其他地方完成,但跟它子查詢不能在計算列中使用。
我繼續改變計算HASHBYTES功能的標量表達式模擬相同如下所示:
HASHBYTES('SHA1', ISNULL(CONVERT(varchar(20),[EmployeeID]),'') + '|' + ISNULL(CONVERT(varchar(20),[ClientID]),''))
這處理的數據相當少於使用FOR XML RAW並且似乎提供了我需要的功能,因爲它可用作持久計算的列
FOR XML RAW實際上創建了這種形式的XML
<row EmployeeID="1" ClientID="1"/>
我們可以使用像下面
mycol AS
HASHBYTES('SHA1',
('<row EmployeeID ="' +
cast(EmployeeId as varchar(10))+ ' ClientId ="' +
cast(ClientID as varchar(10)) + '"/>'))
這並未解決非數字值可能需要的正確數據序列化。 – 2015-06-29 18:46:36