gpt4 book ai didi

SQL Server 和类型的隐式转换

转载 作者:行者123 更新时间:2023-12-02 02:26:03 27 4
gpt4 key购买 nike

SQL Server 在哪里进行隐式转换?它遵循什么规则?即什么时候将等式运算符的左侧转换为右侧?

Foobarid int not null quantity int not nullquantityTest byte not nulldate varchar(20) not nulldateTest datetime
SELECT id
FROM Foobar
WHERE quantity > '3'

SELECT id
FROM foobar
WHERE quantityTest > 3

Select id
FROM foobar
WHERE date = 20120101

最佳答案

这是您要查找的列表DataType Precedence

在您的示例中:

WHERE quantity > '3'

'3' 被转换为 int,匹配数量

WHERE quantityTest > 3

无需类型转换

WHERE date = 20120101

20120101 作为数字被转换为太大的日期。例如

select cast(20120101 as datetime)

这与

不同
WHERE date = '20120101'

可以将日期作为字符串进行转换。

如果你下降CAST and CONVERT reference的三分之一在隐式转换部分,有一个允许的隐式转换表。仅仅因为它被允许并不意味着它会起作用,例如(20120101 -> datetime)。

关于SQL Server 和类型的隐式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13297547/

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