users というテーブルがあり、SQL では日付の形式は yyyy-mm-dd です。そのため、自分の Web サイトから dd/mm/yyyy 形式でデータを入力しようとすると、0000--00-00 と入力されます。どうすれば変更できますかフォーマットはSQLですか?
5 に答える
SQL サーバーの例
SELECT convert(varchar, getdate(), 103) – dd/mm/yyyy
または、「datecolumn」の代わりに列名を入れてみてください
CONVERT(varchar(19), datecolumn, 103)
ここの記事によると、SQL Serverで
SET DATEFORMAT YMD;
どのデータが 0000-00-00 として入力され、ゼロがどこから来るのかわかりませんが、これは役立つかもしれません: 基本的に、Oracle の日付列のデータは、任意のユーザー定義形式で保存するか、デフォルトとして保持できます。それはすべて NLS パラメータに依存します。
現在の形式は次のように表示できます。 SELECT SYSDATE FROM DUAL;
レコードを挿入しようとして挿入ステートメントがこの形式ではない場合、次のようになります: ORA-01843 : 有効な月のエラーではありません。したがって、最初にinsertステートメントの前にデータベースの日付形式を変更し(insertステートメントの一括ロードがあると想定しています)、次にinsertスクリプトを実行します。
フォーマットは次のように変更できます: ALTER SESSION SET nls_date_format = 'mm/dd/yyyy hh24:mi:ss';
また、SQL Developer GUI から NLS 設定を変更することもできます ([ツール] > [設定] > [データベース] > [NLS])。