7

次のクエリを実行すると。select * from surgicals where to_char(dt_surgery ,'DD-MM-YYYY' ) = to_char('12-02-2012','DD-MM-YYYY');

「SQL 状態 42725: エラー: 関数 to_char(unknown, unknown) が一意ではありません」というエラーが表示される

上記の選択クエリを実行するには?

4

3 に答える 3

7

あなたはおそらく意味しto_char('12-02-2012'::date, 'DD-MM-YYYY')ます。to_charプレーン文字列を文字列に変換できません。それでも、それは意味がないようです。日付定数の形式に応じて、これら2つのいずれかが必要です(提供した実際の日付の例からは判断できません):

select * from surgicals where to_char(dt_surgery ,'DD-MM-YYYY' ) = '12-02-2012';
select * from surgicals where to_char(dt_surgery ,'MM-DD-YYYY' ) = '12-02-2012';
于 2012-06-27T11:20:46.287 に答える
4

ここで間違っているのは、日付の文字列比較を行っていることです。タイムゾーンなどの楽しいことを考慮に入れても、正しく取得できる日付/時刻の計算を使用します。

于 2012-06-27T15:27:07.030 に答える
3

多分これはあなたが必要とするものです:

SELECT *
FROM surgicals 
WHERE date_trunc('day', dt_surgery) = '2012-02-12'
    ;
于 2012-06-27T12:23:51.090 に答える