首页 新闻 搜索 专区 学院

sql 类型转换问题

0
悬赏园豆:10 [待解决问题]

我现在有一个简单的查询语句,而这个select结果集要拿出去与别的表做联合查询

遇到一个问题:外面的ModuleId字段都是UNIQUEIDENTIFIER类型,而刚好这个log表ModuleId字段都是nvarchar(36)、(且字段内容都是0124EBFE-A6E3-465B-8057-4AF35D10F30B),需要转换为UNIQUEIDENTIFIER

 

SELECT UserId, CAST(ModuleId AS UNIQUEIDENTIFIER) AS ModuleId
FROM dbo.OS_LOG
WHERE (Description = '访问系统') AND (ModuleId IS NOT NULL)

 

还是有警告:

Type conversion in expression (CONVERT(uniqueidentifier,[OperationSystem].[dbo].[OS_LOG].[ModuleId],0)) may affect "CardinalityEstimate" in query plan choice

I-Can的主页 I-Can | 初学一级 | 园豆:121
提问于:2016-06-30 14:04
< >
分享
所有回答(2)
0

警告你管他作甚。

爱编程的大叔 | 园豆:30664 (高人七级) | 2016-06-30 14:25

大叔永远都是这么幽默

支持(0) 反对(0) I-Can | 园豆:121 (初学一级) | 2016-06-30 16:23
0

这跟索引的统计信息有关,强制转换index key的data type会导致index statistics 失效

悦光阴 | 园豆:2239 (老鸟四级) | 2016-08-21 12:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册