Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [SQL]Доказать предположение


Автор: Juliy 27.5.2008, 00:42
Дан некоторый фрагмент SQL-кода:
Код

DECLARE @a CHAR(12)
DECLARE @b DATETIME
DECLARE @c INT
SET @a=’12.2.04’
SET @c=6


Укажите правильные операторы для вычисления новой даты:
Код

        a) SET @b=@a+@c 
        b) SET @b=@a+CAST(@c AS DATETIME) 
        c)  SET @b=CAST(@a AS DATETIME) +@c 
        d) SET @b=CAST((CAST(@a AS INT)+@c) AS DATETIME)


Скажите пожалуста почему правильный ответ b

Автор: Данкинг 27.5.2008, 01:22
Потому что только в б) переменные и результат приводятся к нужному формату - дата.

Автор: Juliy 27.5.2008, 13:04
Rodman, простите. Исправлюсь. Больше такого не повторится, просто писал очень сонный.


Данкинг, а каким чудом оно целочисленую 6 превращает в дату, а потом суммирует переменую CHAR с переменной DATATIME. 
Подскажите пожалуйста, очень интересно, я только начал разбиратся в SQL. 
И что порекомендуете начинающим?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)