sql >> データベース >  >> RDS >> Sqlserver

SQL エラー:varchar データ型から datetime データ型への変換により、範囲外の値が発生しました

    SQL Server で使用する安全な日時文字列形式は

    YYYYMMDD HH:MM:SS または YYYY-MM-DDTHH:MM:SS .

    SET DATEFORMAT の場合、変換は失敗します。 dmyです。 言語の設定 自動的に日付形式を設定します。 ドイツ語の両方だと思います そしてノルウェー語 dmy を使用してください。

    これは失敗します:

    set language norwegiandeclare @F7 varchar(10) ='26/04/2011'declare @F8 varchar(10) ='00:09:13'DECLARE @Date VARCHAR(20)SET @Date =RIGHT (@F7,4)+'/'+SUBSTRING(@F7,4,2)+'/'+LEFT(@F7,2)DECLARE @time DATETIMESET @time =CONVERT(DATETIME, @Date + ' ' + @ F8)  

    代わりに (YYYY-MM-DDTHH:MM:SS を使用して) このようにして、言語/日付形式の設定に関係なく安全にしてください。

    declare @F7 varchar(10) ='26/04/2011'declare @F8 varchar(10) ='00:09:13'DECLARE @Date VARCHAR(20)SET @Date =RIGHT(@ F7,4)+'-'+SUBSTRING(@F7,4,2)+'-'+LEFT(@F7,2)DECLARE @time DATETIMESET @time =CONVERT(DATETIME, @Date + 'T' + @F8 )  

    1. SQLAlchemyの`create_engine`で`charset`と`encoding`を使用する方法(パンダデータフレームを作成するため)?

    2. 一時テーブルからフィールド名を取得する方法(SQL Server 2008)

    3. PHPとMySQLの評価システム

    4. SQL Server 2008 でユーザー名で最新のレコード グループを選択する