У меня есть таблица, как этотSQL запросов с полями типа NUMERIC
CREATE TABLE MyTable (
[MyTableID] [int] NOT NULL,
[Description] [varchar](50) NOT NULL,
CONSTRAINT [PK_AddressType] PRIMARY KEY CLUSTERED (
[MyTableID] ASC
)
) ON [PRIMARY]
Может кто-нибудь объяснить, почему следующий запрос работает, даже если я в том числе значение поля в одинарные кавычки?
SELECT *
FROM MyTable
WHERE MyTableID = '1'
Является ли это особенностью SQL Server? Это ANSI/SQL?
Этот тип неявного преобразования данных является специфичным для SQL Server правильно? Я почти уверен, что запрос потерпит неудачу в отношении Oracle и DB2 – Lorenzo
@Lorenzo: я обновлялся во время комментирования, но нет - это не относится к SQL Server. –
Хорошо! Большое спасибо за объяснение. Я только что обнаружил это, пока я пытался вызвать ошибку в моем коде. Если бы я знал это раньше, некоторые из построителей запросов, которые я написал, были намного проще :) – Lorenzo