ホームページ > データベース > mysql チュートリアル > SQL Server で VARCHAR を DATETIME に変換するときに範囲外エラーを回避するにはどうすればよいですか?

SQL Server で VARCHAR を DATETIME に変換するときに範囲外エラーを回避するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-13 06:34:43
オリジナル
619 人が閲覧しました

How to Avoid Out-of-Range Errors When Converting VARCHAR to DATETIME in SQL Server?

SQL Server VARCHAR から DATETIME への変換: 範囲外エラーの防止

CONVERT を直接使用すると、日付を表す VARCHAR 文字列 ('mmddyyyy' など) を SQL Server 2008 の DATETIME 型に変換すると、多くの場合「範囲外の値」エラーが発生します。 これは、入力形式が予期される DATETIME 形式と一致しないためです。

この解決策には、変換前に VARCHAR 文字列を yyyymmdd 形式に再構築することが含まれます。 その方法は次のとおりです:

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

このコードは次の手順を実行します:

  1. VARCHAR 変数 (@Date) は、入力日付文字列を保持します。
  2. RIGHT(@Date, 4) は年 (最後の 4 文字) を抽出します。
  3. LEFT(@Date, 2) は月 (最初の 2 文字) を抽出します。
  4. SUBSTRING(@Date, 3, 2) は日 (文字 3 と 4) を抽出します。
  5. 年、月、日は yyyymmdd 形式に連結されます。
  6. CONVERT() は最後に、正しくフォーマットされた文字列を DATETIME 値に変換します。

この方法は範囲外エラーを効果的に回避し、変換を確実に成功させます。

以上がSQL Server で VARCHAR を DATETIME に変換するときに範囲外エラーを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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