將截斷字符串或二進制數據 哪個字段
消息 8152,級別 16,狀態 14,第 2 行
將截斷字符串或二進制數據。
sql server2000
sql server2014 也不能直接提示出哪個字段的問題
將截斷字符串或二進制數據
create table #ls(a char(10),b char(10)) insert into #ls values('aaaaaaaaaaaaaaaaaaaaaaaaa','bbbbbbbbbbb')
insert into tt(field1)
select field2 from table 2
這樣也不知道哪個字段值超大了
問題
sql server 2016 測試了,也不行,阿里雲上有sql 2016
哪個版本能提供
到底是哪個字段超長了
sql server2019有此功能
https://support.microsoft.com/en-us/help/4468101/optional-replacement-for-string-or-binary-data-would-be-truncated
https://docs.microsoft.com/zh-cn/sql/sql-server/what-s-new-in-sql-server-ver15?view=sqlallproducts-allversions&WT.mc_id=Revolutions-blog-davidsmi
截斷錯誤消息已改進,包括表名和列名以及截斷值 (CTP 2.1)
開發或維護數據移動工作負載的許多 SQL Server 開發人員和管理員非常熟悉錯誤消息 ID 8152 String or binary data would be truncated
;當源數據太大而無法適應目標數據類型時,使用不同架構在源和目標之間進行數據傳輸會引發錯誤。 針對此錯誤消息進行故障排查可能非常耗時。 SQL Server 2019 預覽 針對此情況引入了更具體的新錯誤消息 (2628):
String or binary data would be truncated in table '%.*ls', column '%.*ls'. Truncated value: '%.*ls'.
新錯誤消息 2628 為數據截斷問題提供更多上下文,從而簡化了故障排查過程。 對於 CTP 2.1 和 CTP 2.2,這是一個“選擇加入”錯誤消息,需要啟用跟蹤標志 460。
看看oracle的提示
[FireDAC][Phys][Ora] ORA-12899: 列 "orcl"."CONTACT"."DATAGENERATE_DATE" 的值太大 (實際值: 17, 最大值: 15)