SQLで正規表現を使いたいです

オプション

現在、SQLで以下のデータ加工をしたいと考えています。

1、A列の値が日付型に変換可能な、値となっているか確認

2-1、日付型に変換可能であれば、フォーマットをyyyy/MM/ddに合わせて日付型に変換

2-2、日付型に変換できなければ、カラムの値をNullにする

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
以上の処理を作る中で、REGEXP演算子の正規表現を使って指定したフォーマットの値であれば日付型に変換可能と判定する処理をしたかったのですがどうやら使えそうもなく、SQLで正規表現できる方法はないのでしょうか?

具体的に正規表現を使いたい経緯として、日付型に変換可能かの判定する処理に以下の処理を使って、日付型に変換可能と判定したいのに判定不可とされたのを変換可能としたい為、正規表現を使い漏れがないようにしたいと思っているからです。
STR_TO_DATE(`A列`,'%Y-%m-%d') IS NOT NULL THEN `A列`

もしよければいいのですが、SQLで対応しているMySQLのバージョンも教えていただけたら幸いです。



タグ付けされた:

ベストアンサー

  • Matz
    Matz Contributor
    回答済み✓
    オプション

    @kaita

    data()を利用して、日付型に変換すれば、変換できない場合は、nullになるようですが、いかがいでしょうか?

    ちなみにバージョンは、5.6でした。

答え

  • Matz
    Matz Contributor
    回答済み✓
    オプション

    @kaita

    data()を利用して、日付型に変換すれば、変換できない場合は、nullになるようですが、いかがいでしょうか?

    ちなみにバージョンは、5.6でした。