按sql排序
我正在做一个表格,我想选择90年代出生的学生。这就是我试图做到的:按sql排序,sql,Sql,我正在做一个表格,我想选择90年代出生的学生。这就是我试图做到的: dbGetQuery(con, "SELECT name, forname, bdate FROM student WHERE (bdate < 1990.01.01) OR (bdate > 1999.12.31) ORDER BY id" ) dbGetQuery(con, “选择名称、forname、bdate 来自学生 其中(b日期1999.12.31) 按id订购”
dbGetQuery(con,
"SELECT name, forname, bdate
FROM student
WHERE (bdate < 1990.01.01) OR (bdate > 1999.12.31)
ORDER BY id"
)
dbGetQuery(con,
“选择名称、forname、bdate
来自学生
其中(b日期<1990.01.01)或(b日期>1999.12.31)
按id订购”
)
但我得到了这个错误:
创建结果时出错(conn@ptr,语句):接近“.01”:语法错误
日期输入不正确。您没有提到正在使用哪个数据库,所以我将参考SQL标准。你应该:
- 用单引号将文字日期括起来
- 将单词
前置到日期值DATE
- 没有必要加括号
SELECT name, forname, bdate
FROM student
WHERE bdate between date '1990-01-01' and date '1999-12-31'
ORDER BY id
日期输入不正确。您没有提到正在使用哪个数据库,所以我将参考SQL标准。你应该:
- 用单引号将文字日期括起来
- 将单词
前置到日期值DATE
- 没有必要加括号
SELECT name, forname, bdate
FROM student
WHERE bdate between date '1990-01-01' and date '1999-12-31'
ORDER BY id
您需要使用str_to_date将日期转换使用引号
”
将日期括起来,并根据需要转换为日期类型,请记住
表示大于b,您的逻辑试图排除出生于90年代的学生:-)您需要使用stru to_dateUse quotes将日期转换为日期使用引号,
将日期括起来,并根据需要转换为日期类型,请记住
意味着大于-btw,您的逻辑试图排除出生于90年代的学生:-)