Sql Data Studio案例错误-THEN/ELSE参数的类型不兼容:TEXT/NUMBER
我正试图将表维度名称从1更改为“Android”,但收到以下错误消息:公式无效-THEN/ELSE参数的类型不兼容:TEXT/NUMBER。所有THEN/ELSE参数必须返回相同的类型 我的案例陈述如下: 案例 当app_id=1时,则为“安卓”Sql Data Studio案例错误-THEN/ELSE参数的类型不兼容:TEXT/NUMBER,sql,google-data-studio,Sql,Google Data Studio,我正试图将表维度名称从1更改为“Android”,但收到以下错误消息:公式无效-THEN/ELSE参数的类型不兼容:TEXT/NUMBER。所有THEN/ELSE参数必须返回相同的类型 我的案例陈述如下: 案例 当app_id=1时,则为“安卓” ELSE app_id END正如错误消息所说,整数和字符串不兼容。您需要将整数转换为字符串: (CASE WHEN app_id = 1 THEN 'android' ELSE CAST(app_id as string) END) 以下内容分为两
ELSE app_id END正如错误消息所说,整数和字符串不兼容。您需要将整数转换为字符串:
(CASE WHEN app_id = 1 THEN 'android' ELSE CAST(app_id as string) END)
以下内容分为两个部分,首先显示可能的问题,然后显示建议的: 1) 问题 1.1)不兼容类型:文本/编号 以下出现的原因是
android
是文本值,而app_id
是数字类型字段:
CASE
WHEN app_id = 1 THEN 'android'
ELSE app_id
END
公式无效-THEN/ELSE参数的类型不兼容:TEXT/NUMBER。所有THEN/ELSE参数必须返回相同的类型
1.2)THEN/ELSE中没有功能
此问题的结果是在语句的然后/其他部分中使用函数或数学运算:
CASE
WHEN app_id = 1 THEN 'android'
ELSE CAST(app_id AS STRING )
END
CASE
WHEN app_id = "1" THEN 'android'
ELSE app_id
END
THEN/ELSE语句不能包含函数或数学运算
2) 建议
以下任何一项都能起作用:
2.1)正则表达式
以下内容适用于文本或数字字段:
REGEXP_REPLACE(CAST(app_id AS TEXT),"^(1)$","android")
2.2)类型:文本
在数据源,将app_id
字段更改为Text字段(如果需要复制字段以维护数字和文本字段),并使用以下语句:
CASE
WHEN app_id = 1 THEN 'android'
ELSE CAST(app_id AS STRING )
END
CASE
WHEN app_id = "1" THEN 'android'
ELSE app_id
END
和一个GIF来详细说明:
错误消息的哪一部分您不理解?完全理解消息,只是不确定如何将整数更改为字符串。谢谢