【发布时间】:2020-05-13 11:17:26
【问题描述】:
在 HackerRANk 这个“https://www.hackerrank.com/challenges/the-report/problem”是问题。 我写了这段代码。
SELECT (CASE
WHEN (STUDENTS.MARKS>=70) THEN (STUDENTS.NAME)
ELSE "NULL"
END) , GRADES.GRADE , STUDENTS.MARKS FROM STUDENTS
INNER JOIN GRADES ON
STUDENTS.MARKS BETWEEN MIN_MARK AND MAX_MARK
ORDER BY GRADES.GRADE DESC, (CASE
WHEN (STUDENTS.MARKS>=70) THEN STUDENTS.NAME
ELSE STUDENTS.MARKS
END) ;
我使用的是 MS SQL,但这显示错误:- 消息 245,级别 16,状态 1,服务器 WIN-ILO9GLLB9J0,第 2 行 将 varchar 值“Priya”转换为数据类型 int 时转换失败。
但相同的代码适用于我的 SQL。请帮忙。 任何人都可以建议学习广泛使用的最佳 SQL,以及从哪里学习。
【问题讨论】:
-
与您的问题无关,但是:字符串常量应该用单引号引起来。双引号用于标识符。所以你应该使用
'NULL'
标签: sql sql-server sql-server-2008