select packageid,status+' Date : '+UpdatedOn from [Shipment_Package]
SQLサーバーで上記のコードを実行すると、以下のエラーが表示されます。 UpdatedOn
のタイプはDateTime
で、ステータスはvarchar
です。ステータス、Date、UpdatedOnを連結したかったのです。
エラー:
文字列から日付や時刻を変換するときに変換に失敗しました。
UpdatedOn
をvarchar
に次のように変換する必要があります。
select packageid, status + ' Date : ' + CAST(UpdatedOn AS VARCHAR(10))
from [Shipment_Package];
日時を特定の形式にフォーマットする場合は、 CONVERT
を使用する必要がある場合もあります。
必要なものを達成するには、日付をキャストする必要がありますか?
例は次のようになります。
現在の不正なコード:
select packageid,status+' Date : '+UpdatedOn from [Shipment_Package]
推奨される解決策:
select packageid,status + ' Date : ' + CAST(UpdatedOn AS VARCHAR(20))
from [Shipment_Package]
お役に立てれば。
Null値を説明するには、次のことを試してください。
select packageid,
'Status: ' + isnull(status, '(null)') + ', Date : '
+ case when UpdatedOn is null then '(null)' else convert(varchar(20), UpdatedOn, 104) end as status_text
from [Shipment_Package]