こんにちは私はいくつかのサードパーティのソフトウェアに対して報告されたアプリケーションを持っています。残念ながら、それはnvarchar型としてすべての値を格納したときにNVARCHARフィールドの日付値を検証
"Conversion failed when converting date and/or time from character string"
System.Data.SqlClient.SqlException was unhandled by user code
か、私は次のエラーを取得していた結果として、私はSSMSでコードを実行しようとした場合、クライアント側でのデータ入力を検証しません。
Msg 241, Level 16, State 1, Procedure settlement_list, Line 10
Conversion failed when converting date and/or time from character string.
私はこれは誰かが私は不正な値を見つけるために、このISDATEコードを試してみたデータフィールドにテキスト値を入力した結果であると仮定します。
SELECT mat3_02_01, CONVERT(datetime, mat3_04_02), mat3_04_02 FROM lntmu11.matter3
WHERE ISDATE(mat3_04_02) <> 1
AND Coalesce(mat3_04_02, '') <> ''
order by mat3_04_02 desc
を、私はゼロの行が返された...私を取得また、手動でデータを篩い分けしました。
誰にも提案はありますか?
EDIT ---ここ
は、ストアドプロシージャ(句は醜いです、私が知っている)あなたが順序を強制することはできません
SELECT mat_no, 'index'=matter.mat1_01_06,
'insurance'=Replace(Replace(matter.mat1_03_01, 'INSURANCE COMPANY', ' '), 'COMPANY', ''),
matter.[status], 'casestage'=mat1_04_01, 'injured'=matter.MAT1_01_07, matter.client,
'terms'=mat3_04_06, 'ClmAmt'=matter.mat1_07_01,
'ClmBal'=matter.mat1_07_03, 'SetTot'=matter3.MAT3_04_09, 'By'=mat3_03_02,
'DtSttld'=mat3_04_02, 'SettlStg'=(MAT3_06_08 + '/' + MAT3_06_05)
FROM [lntmu11].matter3 inner join
[lntmu11].matter ON [lntmu11].matter.sysid = [lntmu11].matter3.sysid
WHERE
(DateDiff(month, convert(datetime, MAT3_04_02, 101), GETDATE()) = @range
and mat3_03_02 like @by)
or
(mat3_04_06 like @by2
and DateDiff(month, convert(datetime, MAT3_04_02, 101), GETDATE()) = @range)
ORDER BY MAT3_03_02
を見つける変身しましたタイトルに "MSSQL"などを付ける。それがタグのためのものです。 –
は ISDATE(mat3_04_02)= 1 と 合体(mat3_04_02、 '')= '' が合体しません(mat3_04_02を、 '')= '' が唯一のヌルと一致するクエリを調べますか? 日付とnullの両方にすることはできません。 – Paparazzi
@Blamそれは良い点です...自分の投稿を編集していたとき、私はもともと、「これはIS NOT NULLではないはずですか? –