Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как в запросе проверить совместимость двух типов MSSQL2008?  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1738
Доброе время суток!

существует ли способ в одном запросе выяснить совместимость двух различных типов данных?

можно конечно тупо забить в код проверку на основе таблицы совместимости но возможно существует более элегантное решение.

Спасибо.
20 июн 12, 13:07    [12745181]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе проверить совместимость двух типов MSSQL2008?  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Mikhail Tchervonenko,

Eсть набор функций IS**** ими можно проверить соответствие данных требования того или иного типа.
20 июн 12, 13:15    [12745272]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе проверить совместимость двух типов MSSQL2008?  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Mikhail Tchervonenko, а что вы понимаете под совместимостью двух типов?
20 июн 12, 13:23    [12745356]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе проверить совместимость двух типов MSSQL2008?  [new]
andrey odegov
Member

Откуда:
Сообщений: 473
sql_variant_property(...)?
20 июн 12, 13:26    [12745393]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе проверить совместимость двух типов MSSQL2008?  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1738
Shakill
Mikhail Tchervonenko, а что вы понимаете под совместимостью двух типов?

Возможность конвертации без потери части значения.
20 июн 12, 17:24    [12747684]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе проверить совместимость двух типов MSSQL2008?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Mikhail Tchervonenko
Shakill
Mikhail Tchervonenko, а что вы понимаете под совместимостью двух типов?

Возможность конвертации без потери части значения.
Только выполнив такую цепочку: сконверить значние в новый тип, потом обратно и полученное сравнить с исходным значением. Потому что то, что вы спрашиваете, не только от типа зависит, но и от самих значений.
20 июн 12, 17:27    [12747718]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе проверить совместимость двух типов MSSQL2008?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Mikhail Tchervonenko
Возможность конвертации без потери части значения.

Вы путаете соленое и красное.
Например, тип varchar совместим с типом int.
Но не любую символьную строку можно преобразовать к числу.
20 июн 12, 17:28    [12747727]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе проверить совместимость двух типов MSSQL2008?  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1738
Glory
Mikhail Tchervonenko
Возможность конвертации без потери части значения.

Вы путаете соленое и красное.
Например, тип varchar совместим с типом int.
Но не любую символьную строку можно преобразовать к числу.

меня в данном случае интересовали неявные преобразования, т.е. не требующие вызова специальных функций конвертации.
21 июн 12, 16:30    [12754389]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе проверить совместимость двух типов MSSQL2008?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Mikhail Tchervonenko
меня в данном случае интересовали неявные преобразования, т.е. не требующие вызова специальных функций конвертации.

Все сказанное выше относится и к неявному преобразованию.
21 июн 12, 16:36    [12754431]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе проверить совместимость двух типов MSSQL2008?  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Mikhail Tchervonenko
Glory
пропущено...

Вы путаете соленое и красное.
Например, тип varchar совместим с типом int.
Но не любую символьную строку можно преобразовать к числу.

меня в данном случае интересовали неявные преобразования, т.е. не требующие вызова специальных функций конвертации.

преобразование строки в целое возможно и без явного cast/convert

вас вот это интересует?
Картинка с другого сайта.
21 июн 12, 16:37    [12754434]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе проверить совместимость двух типов MSSQL2008?  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1738
Shakill,

Спасибо огромное, то что надо!
26 июн 12, 10:47    [12774969]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить