首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL错误: ORA-00936:缺少表达式

SQL错误: ORA-00936:缺少表达式
EN

Stack Overflow用户
提问于 2012-01-03 15:45:46
回答 1查看 6.8K关注 0票数 1

你能告诉我sql中的错误是什么吗?我遇到了缺少表达式的错误,但我找不到错误。非常提前感谢您。

代码语言:javascript
复制
SELECT SYSTEMNAME, round(MAX(GBL_CPU_TOTAL_UTIL),2) AS AVE_CPU,
convert(varchar(20),DATEADD(hour, DATEDIFF(hour, 0, DATETIME), 0),110) AS DATE
FROM dbo.[GLOBAL]
WHERE (SYSTEMNAME IN ( 'X1','X2','X3'))    
AND (DATETIME > DATEADD(month, - 24, GETDATE()))
AND (DATETIME BETWEEN '12-27-2011 00:00' AND '12-30-2011 00:00')
GROUP BY SYSTEMNAME, convert(varchar(20),
DATEADD(hour, DATEDIFF(hour, 0, DATETIME), 0),110)
ORDER BY DATE

错误:

代码语言:javascript
复制
ORA-00936: missing expression
00936. 00000 -  "missing expression"
*Cause:    
*Action:
Error at Line: 2 Column: 9
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-03 15:49:49

convert(varchar(20), ...

据我所知,convert用于将字符串从一个字符集转换为另一个字符集。varchar(20)不是字符串。情况也很可能是这样,因为“第2行,第9列”正是varchar(20)所在的位置。

convert的文档说明:

convert( string1 , char_set_to , [ char_set_from ] )

string1 is the string to be converted.

char_set_to is the character set to convert to.

char_set_from is the character set to convert from.

如果您打算将日期差异转换为varchar(20)类型,则可能应该使用cast

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8709268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档