如何在SQL中指定表中的一组年份

时间:2016-09-09 22:36:57

标签: sql oracle

关于在表中指定一组年份的基本SQL问题。在数据库上工作,希望我列出作者,标题,出版日期和零售价格。我有那个部分,但它也要求输出以" D"开头的所有标题。并于20世纪70年代出版。

我有第一部分:(这是我们如何教btw)

SELECT `fAuthorID`,`fTitle`,`fPubYear`,`fRetailPrice`
FROM `tBooks`
WHERE 

但我似乎无法通过" D"输出作者。和1970 - 1979年展出。

3 个答案:

答案 0 :(得分:1)

假设fpubyear是一个数字(整数)列,查询连续年份的正确方法是使用BETWEEN运算符。

SELECT fauthorID, fTitle, fPubYear, fReatailPrice
FROM tbooks
WHERE fTitle Like 'D%' 
  AND fPubYear BETWEEN 1970 and 1979;

运算符之间包含两端。它具有额外的好处,即fpubyear上的索引可用于快速查找匹配的行 - 如果首先需要将数字转换为字符串以便能够应用{{1},则不是这种情况操作员就可以了。

LIKE用于字符值("字符串"),不应与其他类型一起使用 - 尤其是在依赖邪恶的隐式数据类型转换时。其他数据库只会拒绝在数字列上应用。

答案 1 :(得分:-1)

SELECT fauthorID, fTitle, fPubYear, fReatailPrice
FROM tbooks
WHERE fTitle Like 'D%' AND fPubYear Like '197_'

答案 2 :(得分:-1)

您好Dewie
您使用此查询,

SELECT fAuthorID,fTitle,fPubYear,fRetailPrice
FROM tBooks
WHERE fTitle like 'D%' and fPubYear like '%197%';

希望这能给你带来结果。任何问题都让我知道