【问题标题】:Temp table not returning the rows that it contains临时表不返回它包含的行
【发布时间】:2019-02-27 14:43:56
【问题描述】:

我有一个临时表存储在我的服务器的tempdb 中。当我像这样做一个示例SELECT 时,它会返回部分显示在图片中的数据。

select top 10 * from ##FlowExecution 

然后我复制第一个CustomerIdHash 的值以获取其表上的相关数据。

select top 10 * from ##FlowExecution 
where CustomerIdHash = '0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1'

令人惊讶的是,我没有得到任何回报,我想知道为什么。

【问题讨论】:

    标签: sql-server tsql ssms temp-tables


    【解决方案1】:

    '0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1'<> 0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1。你的专栏是varbinary,给它一个varbinary

    select top 10 * from ##FlowExecution 
    where CustomerIdHash = 0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1;
    

    您的查询实际上将您的 varchar 值隐式转换为 varbinary 值,从而产生值 0x307839313344463739304239353742343241393836374633343931453942

    SELECT CONVERT(varbinary,'0x913DF790B957B42A9867F3491E9B8C919F81B64DC1812FDDECB9F919DB15A5D1');
    

    【讨论】:

    • 谢谢!我不知道这个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-07
    • 1970-01-01
    • 1970-01-01
    • 2021-07-31
    • 2012-12-01
    • 2014-12-25
    • 1970-01-01
    相关资源
    最近更新 更多