3

私は次のようなテーブルを持っています:

DAYDATE     TIMEOFDAY   USERID
18-JUL-12   Afternoon   mistu4u
18-JUL-12   Noon        mistu4u
20-JUL-12   Noon        mistu4u
21-JUL-12   Afternoon   mistu4u
11-SEP-12   Afternoon   rimo
06-AUG-12   Noon        rimo
14-JUN-12   Noon        mistu4u

ここで、日付の月が「jul」であるmistu4uの値を取得したいと思います。

select * from mealdb where userid='mistu4u' and substr(daydate,4,3)='jul';

しかし、それは「データが見つかりません」を与えています。

4

5 に答える 5

3

インストールの大文字と小文字は区別されますか?このSQLは機能しますか?

select * from mealdb where userid='mistu4u' and substr(daydate,4,3)='JUL';
于 2012-07-19T13:39:03.440 に答える
0

試す

SELECT *
FROM   mealdb
WHERE  userid = 'mistu4u'
AND    TO_NUMBER(TO_CHAR(daydate,'MM')) = 7
;
于 2012-07-19T13:41:21.677 に答える
0

試す

TRUNC(daydate, 'MONTH') = '01-JULY-2012'

daydate列にインデックスがある場合は注意してください。substrはそれを役に立たなくします。おそらく、代わりにBETWEENを使用することを検討してください。

また、ほとんどのソリューションは、7月の任意の年のすべてのレコードを取得します。

于 2012-07-19T13:41:46.300 に答える
0

これで試してください:

select * from mealdb where userid='mistu4u' and daydate like '%JUL%';
于 2016-11-23T15:12:39.680 に答える
0
select *
from mealdb
where userid='mistu4u'
and upper(daydate) LIKE '%JUL%';
于 2020-10-08T04:49:44.873 に答える