将 base64 编码的整数转换为长整数
Convert base64 encoded integer to long
我正在 return 中 XML
如下 SQL Server 2016
。如果我执行 CONVERT
选项,我会在下面收到此错误。我不想要那个错误,并且想要 return 这个奇怪文本的当前类型 AAAAAAF+nuc=
。我可以将 .NET
中的这个转换为 long
吗?
Explicit conversion from data type timestamp to date is not allowed.
XML
<Assets>
<Asset>
<Type>2</Type>
<FileName>179605.png</FileName>
<Id>179605</Id>
<Version>AAAAAAF+nuc=</Version>
<Version1>25075431</Version1>
</Asset>
</Assets>
SQL
SELECT
ga.[Type], ga.[FileName], ga.Id, ga.[Version],
CONVERT(BIGINT, ga.[Version]) AS [Version1]
FROM
Test ga
WHERE
ga.id = 179605
FOR XML PATH('Asset'), ROOT('Assets')
示例尝试
[TestMethod]
public void Convert()
{
byte[] bytes = System.Convert.FromBase64String("AAAAAAF+nuc=");
var longValue = BitConverter.ToInt64(bytes, 0); // -1756828261867847680
}
嗯,你知道什么,使用此代码从 SQL 服务器获得了这个确切的答案。如果有更快的方法请评论。
[TestMethod]
public void Convert()
{
byte[] bytes = System.Convert.FromBase64String("AAAAAAF+nuc=");
Array.Reverse(bytes, 0, bytes.Length);
var longValue = BitConverter.ToInt64(bytes, 0); // 25075431
}
我正在 return 中 XML
如下 SQL Server 2016
。如果我执行 CONVERT
选项,我会在下面收到此错误。我不想要那个错误,并且想要 return 这个奇怪文本的当前类型 AAAAAAF+nuc=
。我可以将 .NET
中的这个转换为 long
吗?
Explicit conversion from data type timestamp to date is not allowed.
XML
<Assets>
<Asset>
<Type>2</Type>
<FileName>179605.png</FileName>
<Id>179605</Id>
<Version>AAAAAAF+nuc=</Version>
<Version1>25075431</Version1>
</Asset>
</Assets>
SQL
SELECT
ga.[Type], ga.[FileName], ga.Id, ga.[Version],
CONVERT(BIGINT, ga.[Version]) AS [Version1]
FROM
Test ga
WHERE
ga.id = 179605
FOR XML PATH('Asset'), ROOT('Assets')
示例尝试
[TestMethod]
public void Convert()
{
byte[] bytes = System.Convert.FromBase64String("AAAAAAF+nuc=");
var longValue = BitConverter.ToInt64(bytes, 0); // -1756828261867847680
}
嗯,你知道什么,使用此代码从 SQL 服务器获得了这个确切的答案。如果有更快的方法请评论。
[TestMethod]
public void Convert()
{
byte[] bytes = System.Convert.FromBase64String("AAAAAAF+nuc=");
Array.Reverse(bytes, 0, bytes.Length);
var longValue = BitConverter.ToInt64(bytes, 0); // 25075431
}