ホームページ >データベース >mysql チュートリアル >SQL Server で mmddyyyy VARCHAR 文字列を DATETIME に変換するにはどうすればよいですか?
SQL Server での mmddyyyy VARCHAR から DATETIME への変換の処理
SQL Server で mmddyyyy 形式の文字列を DATETIME に直接変換すると、多くの場合エラーが発生します。 これは、標準の CONVERT
関数が特定の日付形式を想定しているためです。 この記事では、この一般的な問題に対する確実な解決策を提供します。
信頼できる方法は次のとおりです:
<code class="language-sql">DECLARE @Date VARCHAR(8) SET @Date = '12312009' SELECT CONVERT(DATETIME, RIGHT(@Date, 4) + '-' + LEFT(@Date, 2) + '-' + SUBSTRING(@Date, 3, 2))</code>
このコードは次のように機能します:
RIGHT
関数は年 (最後の 4 文字) を抽出します。LEFT
関数は月 (最初の 2 文字) を抽出します。SUBSTRING
は日 (文字 3 と 4) を抽出します。yyyy-mm-dd
文字列を作成します。CONVERT
は、この文字列を DATETIME 値に変換します。この手法は、文字列コンポーネントを SQL Server の DATETIME 解釈に適した順序に明示的に再配置することで、単純な CONVERT
の制限を克服し、範囲外エラーを効果的に解決します。 これにより、mmddyyyy 文字列から DATETIME データ型への正確かつ信頼性の高い変換が保証されます。
以上がSQL Server で mmddyyyy VARCHAR 文字列を DATETIME に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。