2017-06-16 6 views
0

これはどういうわけか私にとっては混乱しています... と呼ばれるテーブルDepositCashと何らかの形でユーザーはvarcharフィールドに入金日と彼/彼女の名前を入力します...システムの日付は今日の日付を取得するだけです... 誰もが日付をのvarcharフィールド(descriptn)にも取得しないで取得する方法についてのアイデアを持っていますか? Like Clauseを使用して取得する方法に関するクエリがありますか?MySqlを使用してvarcharデータフィールドの日付を取得する

ここは表の内容です。

あなたが与えられている形式について

enter image description here

答えて

2

、あなたがsubstring_index()を使用することができます。

select substring_index(descriptn, ' ', 1) 

あなたは実際の日付に値を変換するために使用str_to_date()

select str_to_date(substring_index(descriptn, ' ', 1), '%m/%d/%Y') 
+0

wow o.o実際にそれを行った...今までsubstring_indexを知らなかった...ありがとう! :) – Rukikun

2

ゴードン文字通りあなたの質問に答えましたが、最高の答えはではないと思います。確かに名前と同じ分野にはない。代わりに、次のようなものを見てあなたのテーブルを正規化するを考えてみます。

DATE  | AMOUNT | DEPOSIT_DATE | NAME 
6/1/2017 | 43184.25 | 6/2/2017  | Marie 
6/2/2017 | 10563.00 | 6/3/2017  | Jacq 
6/2/2017 | 37065.50 | 6/3/2017  | Abby 

あなたは同じフィールドに日付と名前を受け取る行う何らかの理由であなたのアプリケーション層で、あなたは簡単にいくつかの正規表現を使用できる場合それらを分けて、テーブルの別々の列に格納してください。

関連する問題