varcharを日付に変換しようとすると、返されるNull値が返されます。str_to_dateはnull + mysqlを返します
私のカラムには05-MAR-2015という値があります。
私は次のクエリを実行しています。
select STR_TO_DATE('n.Invoice_date','%d-%c-Y') from table n;
上記のクエリを実行すると、null値が返されます。
日付形式で新しい列を導入したいと考えています。
varcharを日付に変換しようとすると、返されるNull値が返されます。str_to_dateはnull + mysqlを返します
私のカラムには05-MAR-2015という値があります。
私は次のクエリを実行しています。
select STR_TO_DATE('n.Invoice_date','%d-%c-Y') from table n;
上記のクエリを実行すると、null値が返されます。
日付形式で新しい列を導入したいと考えています。
リテラル文字列'n.invoice_date'
は有効な日付ではありません。あなたが意味することは次のとおりです。
SELECT STR_TO_DATE(n.invoice_date, '%d-%b-%Y') FROM TABLE n
MYSQLで 'SELECT STR_TO_DATE('05 -MAR-2015 '、'%d-%c-%Y ');'を実行しようとしましたが、これは動作しません。多分それは有効な日付ではありませんか? – rbr94
あなたの返事をありがとう。はい。それで合っています。そこにエイリアスが必要なのでしょうか? – user2663104
'n.'部分は省略できます。 – tadman
あなたのエラーは、日付を取得するために%c
代わりの%b
の使用です。日付の書式と日付値の作成を混在させました。これはそれを行う必要があります。ここでは、まず、それがフィールドに格納されている形式と一致している必要がありSTR_TO_DATE
とのデートを作成2015年5月3日
:これは、その結果
SELECT DATE_FORMAT(STR_TO_DATE(n.invoice_date,'%d-%b-%Y'), '%d-%c-%Y') FROM table n;
。その後、あなたはしたい方法でDATE_FORMAT
でそれをフォーマットすることができます。
は、より多くの情報のためにMYSQLドキュメントを参照してください:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
ありがとうございます。私は次のクエリを使用しました - dw.spend_nordicからSELECT str_to_date(lower(Invoice_date)、 '%d-%b-%Y'); – user2663104
あなたはY' '前に'% 'を忘れてしまったとformattorは '%D-%B-%Y'' –
あなたの文字列の形式が正確に何である'でなければなりませんInvoice_date? –