用户输入查询

User Input Query

我在使用此查询时遇到了一些问题。 我正在尝试创建一个查询,用户可以在其中输入运行时的 2 个日期。它要求我输入开始日期和结束日期,但是,它随后得出:ORA-00904: "JAN": invalid identifier

我的查询目前是:

SELECT p.FirstName, p.email, a.Avatar_Name, s.Species_Name, a.Avatar_Level, a.Skill, s.Wisdom_Level, a.AvA_DOB, a.Hoard
    FROM Players P, Avatars A, Species S
    WHERE a.Player_ID = p.Player_ID
    AND a.Species_ID = s.Species_ID
    AND Avatar_Level = 'Master'
    AND AvA_DOB BETWEEN &startdate AND &enddate
    ORDER BY Hoard DESC;

我希望用户能够找到用户输入的两个日期之间的头像列表。 有什么帮助吗?如果需要更多信息,请询问! (: (SQL 加上)

SQL 中的日期值需要用单引号引起来。 Oracle 会将这些字符串转换为日期数据类型,但使用具有预期格式掩码的显式转换更安全。

SELECT p.FirstName, p.email, a.Avatar_Name, s.Species_Name, a.Avatar_Level, a.Skill, s.Wisdom_Level, a.AvA_DOB, a.Hoard
    FROM Players P, Avatars A, Species S
    WHERE a.Player_ID = p.Player_ID
    AND a.Species_ID = s.Species_ID
    AND Avatar_Level = 'Master'
    AND AvA_DOB BETWEEN to_date('&startdate', 'dd-mmm-yyyy') 
                AND to_date('&enddate', 'dd-mmm-yyyy')
    ORDER BY Hoard DESC;