代码之家  ›  专栏  ›  技术社区  ›  Chicken Sandwich No Pickles

SQL Server:在Where子句中使用唯一标识符

  •  -3
  • Chicken Sandwich No Pickles  · 技术社区  · 7 年前

    我运行了以下查询:

    select
        *
    from
        [dbo].[planservice]
    where
        cast([serviceid] as varchar(255)) = cast('49D9161A-B92B-E911-8101-001056B242CB' as varchar(255))
    

    我不确定为什么会收到此错误消息:

    从字符串转换为唯一标识符时转换失败

    它们不都是弦吗?

    编辑

    a.[planid] = ''
    

    编辑:我不知道人们为什么要把这个标记为关闭。行得通,但我不知道为什么行得通。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Muhammad Hannan    7 年前

    如果你的 serviceid uniqueidentifier 那你为什么要投给 varchar(255) ? 你可以直接跑

    select
    *
    from
    [dbo].[planservice]
    where [serviceid] = '49D9161A-B92B-E911-8101-001056B242CB' 
    

    这对我来说很管用 .