ホームページ > データベース > mysql チュートリアル > SQL Server 2008 で mmddyyyy Varchar 文字列を DateTime に正常に変換するにはどうすればよいですか?

SQL Server 2008 で mmddyyyy Varchar 文字列を DateTime に正常に変換するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-13 10:15:42
オリジナル
448 人が閲覧しました

How Can I Successfully Convert mmddyyyy Varchar Strings to DateTime in SQL Server 2008?

SQL Server 2008 で mmddyyyy varchar 文字列を datetime に変換する効果的な方法

SQL Server 2008 では、日付を表す mmddyyyy 形式の文字列を datetime データ型に変換すると、変換エラーが発生することがあります。これを修正する方法は次のとおりです:

文字列の解析と変換

CONVERT 関数を直接使用して変換すると、範囲外エラーが発生して失敗する場合があります。代わりに、文字列を構成要素 (月、日、年) に手動で解析してから、日時値を構築する必要があります:

<code class="language-sql">DECLARE @Date char(8)
SET @Date = '12312009'

SELECT CONVERT(datetime,
                RIGHT(@Date, 4) + SUBSTRING(@Date, 3, 2) + LEFT(@Date, 2))</code>
ログイン後にコピー

例: '12312009' を DateTime に変換します

上記のメソッドを使用すると、文字列「12312009」を次のように日時値に変換できます。

<code class="language-sql">SELECT CONVERT(datetime,
                RIGHT('12312009', 4) + SUBSTRING('12312009', 3, 2) + LEFT('12312009', 2))</code>
ログイン後にコピー

出力結果

上記のクエリの出力は次のようになります:

<code>-----------------------
2009-12-31 00:00:00.000

(1 row(s) affected)</code>
ログイン後にコピー

変換の正確性を確保するために、コード内の文字列処理の順序が調整され、年が先頭、月が中央、日付が最後に配置されていることに注意してください。 CONVERT 関数のデフォルトの処理方法とは異なります。

以上がSQL Server 2008 で mmddyyyy Varchar 文字列を DateTime に正常に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート