You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL使用CASE WHEN查询user_activity_log表的语法补全求助

SQL问题解答

你写的查询语句里???位置应填入hitdatetime。另外原语句有两处细节错误,会导致返回结果不符合需求,需要同步修正:

  • 第一个CASE分支的ELSE后写的'NULL'是带单引号的字符串,不是SQL中的真正空值,需要去掉单引号写为NULL,否则非visit动作的行返回的是字符串"NULL",而非要求的null空值。
  • 第二个CASE分支里的'1'、'0'是字符串格式,如果需要返回数值类型的标识,建议去掉单引号直接写数值1和0。

修正后的完整可运行SQL如下:

SELECT client_id, 
      CASE WHEN action = 'visit' THEN hitdatetime  ELSE NULL END as visit_dt, 
      CASE WHEN action = 'registration' THEN 1 ELSE 0 END as is_registration 
FROM  user_activity_log;

针对你提供的样例数据,执行上述SQL后的返回结果:

client_idvisit_dtis_registration
172020-09-18 11:30:430
17NULL1
172020-09-18 11:31:160

内容的提问来源于stack exchange,提问作者Roman Bolshevik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 21:30:42