我从中绘制数据的列具有随机分布的数字和字母,我需要两者才能区分它们。
示例:207RG0100X(列名为C1)
我正在尝试使用我创建的临时表来连接另外两个表,这些表保存了这一列数据,但我不断收到varchar到float转换错误。我知道float在数据类型方面优先于varchar,但我发现的方法包括ISNUMERIC(),因为我的数据包含数字和字母,所以我认为这不会起作用。有什么建议?
SELECT CAST([TAXONOMY CODE] AS Varchar(max)) AS Taxonomy, [SPECIALTY CODE] AS ProviderCode INTO #TaxonomyCodes FROM PS.TaxonomyCode WHERE [TAXONOMY CODE] LIKE '%X'
SELECT Taxonomy, ProviderCode, P.ProviderID, ProcedureCode
FROM #TaxonomyCodes TC, Database..ClaimDetail CD, Database..Claim C, Database..Provider P
WHERE TC.ProviderCode = P.PrescriberType1 AND CD.ClaimID = C.ClaimID AND C.ProviderID = P.ProviderId
答案 0 :(得分:1)
如果数据是字母数字类型,则应将其作为varchar(xx)存储在临时表中,而不是浮点类型。如果组合数据的表在列中具有不同的数据类型,则可以将float转换为CAST(floatColumn as VARCHAR(xx))。除非你发布一些SQL查询以提供更好的想法,否则我无能为力。