サーバータイプ:MSSQL 2014MSSQLハンドル/スプリット不明な日付文字列フォーマット
私の文字列(S):VARCHAR '2017年2月5日7時54分51秒PM'
私はにそれを変換する必要があります任意のサポートされているDateTime形式(または、できれば直接エポックに)。 NULLと ""(空白)行を処理する必要があります。
私は答えを数回、Googleを無駄に過ごしました。残念なビットは、保存されたフォーマットは、日付の形式131とわずかに異なるだけです。
私は次のようなことを試しました。
FORMAT(CONVERT(DATETIME, '2/05/2017 7:54:51 PM'), 'dd/MM/yyyy hh:mm:ss')
CONVERT(DATETIME, '2/05/2017 7:54:51 PM',22)
CONVERT(DATETIME, '2/05/2017 7:54:51 PM',131)
/* SQLエラー(241):文字列から日付/時刻を変換する際、変換に失敗しました。 */
/* SQLエラー(242):varcharデータ型をdatetimeデータ型に変換すると、範囲外の値が発生しました。 */
SUBSTRING/CHARINDEXなどのマックアウォールのように、個々の部分を個別に処理しても問題ありません。