gpt4 book ai didi

TSQL 在插入时添加字符串文字前缀 - 有任何值,还是冗余?

转载 作者:行者123 更新时间:2023-12-02 19:15:35 24 4
gpt4 key购买 nike

我刚刚继承了一个项目,其代码类似于以下(相当简单)示例:

DECLARE @Demo TABLE
(
Quantity INT,
Symbol NVARCHAR(10)
)

INSERT INTO @Demo (Quantity, Symbol)
SELECT 127, N'IBM'

我感兴趣的是字符串文字之前的 N

我知道前缀 N 是指定编码(在本例中为 Unicode)。但是由于 select 只是为了插入到显然已经是 Unicode 的字段中,所以这个值不会自动向上转换吗?

我已经在没有 N 的情况下运行了代码,它似乎可以工作,但是我是否遗漏了前一个程序员想要的东西?还是 N 是他/她的疏忽?

我期望的行为类似于将 int 传递给 decimal 字段(自动向上转型)。我可以去掉那些N吗?

最佳答案

您的测试并不是真正有效,请尝试使用中文字符之类的内容,我记得如果您不加前缀,它将不会插入正确的字符

例如,第一个显示问号,而底部显示一个正方形

select '作'

select N'作'

一个更好的例子,即使在这里输出也不一样

declare @v nvarchar(50), @v2 nvarchar(50)

select @v = '作', @v2 = N'作'

select @v,@v2

既然你看起来像一个股票表,为什么你使用unicode,甚至有没有unicode的符号..我从来没有见过任何,这包括ISIN,CUSIPS和SEDOLS

关于TSQL 在插入时添加字符串文字前缀 - 有任何值,还是冗余?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2924720/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com