1

Oracleに使用しているSQLステートメントがいくつかあります。このSQLステートメントは、私のプログラムで使用されています。Oracle と SQL-Server で異なる SQL ステートメントを使用せずに、自分のプログラムで Oracle と SQL-Server をサポートしたいと考えています。

特定のOracle SQLステートメントにどの代替手段を使用できますか:

  • to_char(FIELDNAME, 'YYYY')
  • to_char(FIELDNAME, 'YYYYMMDD')
  • to_char(FIELDNAME, 'DD.MM.YYYY')

SQL ステートメントは、OracleおよびSQL-Server で機能する必要があります。

4

3 に答える 3

1

あなたが望むことをするための一般的な機能はないと思います。extract()Oracle は、日付部分を抽出するための ANSI 標準関数をサポートしています。SQL Server にはYEAR()、 、MONTH()、およびの個別の機能がありDAY()ます。オラクルはTO_CHAR(); SQL Server は を使用しますCONVERT()

1 つのオプションは、関数YEAR()MONTH()、およびOracle を定義してから、( ) 関数をDAY()介して文字列連結を使用してデータを結合することです。CONCAT()または、実行したいことのために、各データベースに特定の関数を記述します。または、誰かがTO_CHAR()SQL Server に実装していて、Web からコードを入手できるかもしれません。

于 2015-11-10T12:48:35.703 に答える
1

最後に私は解決策を見つけました。たぶん、他の人にも役立つでしょう。

日付の入力形式を設定できます...

オラクル: ALTER SESSION SET NLS_DATE_FORMAT = 'DD.MM.YYYY' SQL サーバー:SET DATEFORMAT dmy

于 2015-11-10T13:06:14.683 に答える