私は別の形式で日付を照会する方法を知りたかったのですが、昨日質問しました。しかし、今私はこのメソッドを使用して挿入をしようとしています(下を参照)しかし、私はそれを動作させることはできません。私はマニュアルをチェックしましたが、初心者ではありません!MySQLの日付形式 - 難易度日付を挿入する
INSERT INTO custorder VALUES ('Kevin','yes'), STR_TO_DATE('1-01-2012', '%d-%m-%Y');
私は別の形式で日付を照会する方法を知りたかったのですが、昨日質問しました。しかし、今私はこのメソッドを使用して挿入をしようとしています(下を参照)しかし、私はそれを動作させることはできません。私はマニュアルをチェックしましたが、初心者ではありません!MySQLの日付形式 - 難易度日付を挿入する
INSERT INTO custorder VALUES ('Kevin','yes'), STR_TO_DATE('1-01-2012', '%d-%m-%Y');
単一引用符で日付を入れて、最後に('yes'
後)括弧を移動:
INSERT INTO custorder
VALUES ('Kevin', 'yes' , STR_TO_DATE('1-01-2012', '%d-%m-%Y')) ;
^ ^
---parenthesis removed--| and added here ------|
しかし、あなたは常にだけ(を使用し、STR_TO_DATE()
機能なしの日付を使用することができますYmd)'20120101'
または'2012-01-01'
フォーマット。 MySQLのドキュメントを確認してください:あなたは正しく文字列をカプセル化されていませんでしたようDate and Time Literals
INSERT INTO custorder
VALUES ('Kevin', 'yes', '2012-01-01') ;
日時リテラルの章を教えていただきありがとうございます。今私はMySQLがそれを認識する日付フィールドに20120101または "20120101"を挿入するときを理解しています。私はそれがPHPの魔法か不具合だと思った。 – Marecky
が見えます。これを試してみてください:
INSERT INTO custorder VALUES ('Kevin','yes'), STR_TO_DATE('1-01-2012', '%d-%m-%Y');
また、次の操作を行うことができます
INSERT INTO custorder VALUES ('Kevin','yes'), '2012-01-01';
私は上記のSQLは、しかし、有効であり、そしてあなたに日付部分を移動することと確信していませんよ角かっこ。あなたが得ている正確なエラーを提供できるのであれば、私はその問題をより直接的に助けることができるかもしれません。
MySQLのINSERTクエリの日付形式はYYYY-MM-DD
例です。
INSERT INTO table_name (date_column) VALUE ('YYYY-MM-DD');
アドオン私はこの問題に出くわしたので、以前の回答に:
あなたが本当にしたい場合はDATE列に24-May-2005
のような文字を挿入すると、次のようなことができます。
INSERT INTO someTable(Empid,Date_Joined)
VALUES
('S710',STR_TO_DATE('24-May-2005', '%d-%M-%Y'));
May
の場合(つまり、月の場合)、フォーマットは%M
である必要があります。
:私はこれを最新のMySQLバージョン8.0で試してみました。
間違った一重引用符の配置 ' – Baba
PHPとは関係ありません。 – Flukey
は私がPHPタグを入れたので-1投票でした...ごめんなさい。それは私がPHPの変数を使用しているためだった..考えていなかった! – Phil