欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

字段类型(uniqueidentifier)问题

程序员文章站 2022-04-29 13:03:23
环境:SQL 2016; 语句 select * from A where PID=JoID 上述查询语句中的Where PID=JoID条件中PID的字段类型为varchar(50)而JoID的字段类型为uniqueidentifier,该写法在升级之前的(SQL2012)库上没有问题,但在新库( ......

环境:sql 2016;

语句 select * from a where pid=joid

上述查询语句中的where pid=joid条件中pid的字段类型为varchar(50)而joid的字段类型为uniqueidentifier,该写法在升级之前的(sql2012)库上没有问题,但在新库(sql2016)中会报错(conversion failed when converting from a character string to uniqueidentifier)。只需对字段(uniqueidentifier)做个类型转换即可(pid=cast(a.joid as varchar(36))),但由于pid字段中存储的数据带“{}”所以需将上述条件改为where substring(pid, 2, len(pid)-2) = cast(joid as varchar(36))

字段类型(uniqueidentifier)问题