[英]How is data with nvarchar[n] type stored?
如果我創建這樣的表
CREATE TABLE [dbo].[Car]
(
[Car_ID] [varchar](20) NOT NULL,
[Car_CODE] [nvarchar](20) NULL,
[Car_NAME] [nvarchar](50) NULL,
)
Car_Name
是否最多包含 50 個字符?
假設我給出這樣的輸入
"Teslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
(60個字符),它會被存儲為
"Teslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
(50 個字符)? 有人可以幫我弄這個嗎? 非常感謝
如果您嘗試通過查詢或實體框架插入或更新大於列長度的值,您將收到錯誤消息:
字符串或二進制數據將被截斷
如果使用存儲過程,截斷會自動完成,不會出現錯誤。
信息沒有插入,它給你一個錯誤
String or binary data would be truncated
我看到您的帖子的方式提出了兩個問題,因此提出了兩個答案。
1、 nvarchar
是如何存儲的?
數據類型nvarchar
將存儲每個字符 2 個字節,而varchar
僅存儲 1 個字節。
2. 我的nvarchar
接受的字符是否超過了允許的最大值?
不, INSERT
語句將失敗並且您將收到錯誤消息,因為它只接受 <= 50 個字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.