我有一个表,其中有一列amount
type DEC
。
以下查询有效:
SELECT * FROM mytable WHERE amount < '1';
SELECT * FROM mytable WHERE amount = '1.5';
即即使我使用引号之类的amount
字符值(尽管它们实际是数字),查询仍然有效。
我的问题是:
这是因为SQL Server“理解”数据类型实际上是数字并在执行sql时忽略引号select
还是
SQL Server首先将amount
值转换为文本然后进行比较?所以这有一个性能转换导致的开销?