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

nvarchar 列を日付形式に変更する

    したがって、これらが列の 2 つの形式のみであると仮定すると、次のことができます。

    SELECT CONVERT(NVARCHAR(19),CONVERT(DATETIME,DT_APP,100),120)
    FROM YourTable
    WHERE DT_APP LIKE '%[aA-zZ]%'
    

    更新

    別の列が必要な場合は、最初に列を作成してから値を入力します:

    -- First create a new column
    ALTER TABLE YourTable
    ADD DT_APP2 DATETIME;
    
    -- Fill that column with DATETIME values
    UPDATE YourTable
    SET DT_APP2 =   CASE WHEN DT_APP LIKE '%[aA-zZ]%'
                    THEN CONVERT(DATETIME,DT_APP,100)
                    ELSE CONVERT(DATETIME,DT_APP,120) END
    

    その後、列をチェックして値が正しいかどうかを確認してから、 DT_APP を削除する必要があります

    アップデート 2 現在の値を更新する必要がある場合は、次のようにします:

    UPDATE YourTable
    SET DT_APP = CONVERT(NVARCHAR(19),CONVERT(DATETIME,DT_APP,100),120)
    WHERE DT_APP LIKE '%[aA-zZ]%'
    



    1. どのSqlDbTypeがvarBinary(max)にマップされますか?

    2. MySQL:列がnullである行の選択

    3. Laravel-PDOプリペアドステートメント-他のバッファリングされていないクエリがアクティブな間はクエリを実行できません

    4. EF4.3コードファーストで複合型との間でマッピングするにはどうすればよいですか?