をやっているかわかりませんDay
書式要素には、日付言語で最も長い曜日の長さが埋め込まれます。英語では9文字の水曜日です。あなたはそのパディングを抑制するためにFM format model modifierを追加することができます
select '<'|| to_char(sysdate + level, 'Day') ||'>' from dual connect by level <= 7;
'<'||TO_CHAR(SYSDATE+LEVEL,'DAY')||'>'
--------------------------------------
<Thursday >
<Friday >
<Saturday >
<Sunday >
<Monday >
<Tuesday >
<Wednesday>
:あなたはとパディングを見ることができます
ので
select '<'|| to_char(sysdate + level, 'FMDay') ||'>' from dual connect by level <= 7;
'<'||TO_CHAR(SYSDATE+LEVEL,'FMDAY')||'
--------------------------------------
<Thursday>
<Friday>
<Saturday>
<Sunday>
<Monday>
<Tuesday>
<Wednesday>
、あなたのテーブルのDay
列がvarchar2
ではなく、あまりにも埋められていると仮定すると、あなたのサブクエリをする必要があります:
(SELECT TO_CHAR(TO_DATE('03/10/2016','DD/MM/YYYY'), 'FMDay') FROM DUAL)
...または@a_horse_with_no_nameがサブクエリなしで同じことを行うに述べたように:
...
WHERE DN_WORKING_HOURS.DAY = TO_CHAR(TO_DATE('03/10/2016','DD/MM/YYYY'), 'FMDay');
が、これは今までに英語以外の環境で実行される可能性がありますので、もし、その日の名はNLSに依存しているクマの心にあなたがそれをより安全にすることができます:
...
WHERE DN_WORKING_HOURS.DAY = TO_CHAR(TO_DATE('03/10/2016','DD/MM/YYYY'), 'FMDay',
'NLS_DATE_LANGUAGE=ENGLISH');
あなたは同じ言語で作業しています? SELECT TO_CHAR(TO_DATE('03/10/2016 '、' DD/MM/YYYY ')、' Day ')FROM DUALは実際にクエリ全体を実行しているセッションであなたを表示しますか? 'DAY'列はどのデータ型ですか? –
DN_WORKING_HOURS.DAYはvarchar2ですか? –
day colはCHARにあり、 – MoshMosh