用蓝凌自带的sql编辑器,结果case when里使用'上午' '下午'直接显示语法错误
这是我的sql代码,只用关注“CASE WHEN (datepart(hour,doc_create_time)>=0 and datepart(hour, doc_create_time)<12) THEN '上午' ELSE '下午' END”这一条就行
WITH
kq as (select samt.fd_status ,soe2.fd_name as jigou,soe.fd_name as name,CONVERT(varchar(100), doc_create_time, 23) dktime,
(cast((DATEDIFF(S,'1970-01-01 00:00:00', doc_create_time) - 8 * 3600) AS bigint)) as sjc,CASE WHEN (datepart(hour,doc_create_time)>=0 and datepart(hour, doc_create_time)<12)_ THEN '上午' ELSE '下午' END) as sxw
from sys_attend_main_two samt join sys_org_element soe on samt.doc_alteror_id = soe.fd_id
join sys_org_element soe2 on soe2.fd_id = soe.fd_parentid)
select _samt.*
from (select samt.*,row_number () over(order by samt.dktime desc) pageNumber
from (SELECT fd_status,name,jigou,dktime,上午,下午
FROM kq
pivot(sum(sjc) FOR sxw IN (上午,下午)) y
group by name,dktime,jigou,fd_status,上午,下午) samt
) _samt
where pageNumber between 1 and 20
注:这在SqlServer的可视化工具上写是没问题的 ,不过蓝凌平台不行,希望能提供不用case when或者含''(这指两个单引号)的方式,因为有''总会给我语法错误
主要是平台的问题,它太老又大了
if函数试试