簡體   English   中英

nvarchar[n] 類型的數據如何存儲?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM