gpt4 book ai didi

sql - Nvarchar 与逻辑运算符一起工作?

转载 作者:行者123 更新时间:2023-12-04 14:20:47 26 4
gpt4 key购买 nike

这里只需要您的帮助。

我有一个表T

A (nvarchar)         B()
--------------------------
'abcd'
'xyzxcz'

B 应该输出 A 中我所做的条目的长度

UPDATE T
SET B = LEN(A) -- I know LEN function returns int

但是当我使用 sp_help T 检查 B 的数据类型时,它显示列 B 为 nvarchar

这是怎么回事?

select A
from T
where B > 100

也返回了正确的输出?

为什么 nvarchar 使用逻辑运算符?

请帮忙。

最佳答案

检查 https://learn.microsoft.com/en-us/sql/t-sql/data-types/data-type-conversion-database-engine?view=sql-server-2017据说当您移动、比较或存储变量时,数据类型会显式或隐式转换。在你的例子中,你将 B 列与 100 进行比较,迫使 sql server 将其隐式转换为整数类型(查看同一页上关于转换的图片)。作为证明,尝试更改在 B 列中放置一些文本的行,并且在重复您的选择查询 B>100 之后,sql server 将抛出一个转换错误,试图从您的文本中获取一个整数。

关于sql - Nvarchar 与逻辑运算符一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55075450/

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