Неизменяемый объект - это объект, который нельзя изменить после его создания. Типичным примером являются строковые литералы.
Язык программирования D, который становится все более популярным, имеет понятие «неизменяемость» через ключевое слово «инвариант». Прочтите статью доктора Добба об этом - http://dobbscodetalk.com/index.php?option=com_myblog&show=Invariant-Strings.html&Itemid=29 . Это прекрасно объясняет проблему.
SELECT CAST(f.DateColumn AS VARCHAR(20)) + ' ' + CAST(f.TimeColumn AS VARCHAR(20))
FROM Foo f
Это дает вам объединенную строку.
SELECT CAST(CAST(f.DateColumn AS VARCHAR(20)) + ' ' + CAST(f.TimeColumn AS VARCHAR(20)) AS TIMESTAMP) As FooTime
FROM Foo f
дает вам объединенное время.
Запрос QBE:
Query
ANSWER: :PRIV:ANSWER.DB
test.db | Date | Time |
| _x | _y, calc _x+_y as "DateTime" |
EndQuery
Запрос SQL:
SELECT DISTINCT
CAST(D0."Date" AS TIMESTAMP) -
CAST("1/1/3000" AS TIMESTAMP) +
CAST(D0."Time" AS TIMESTAMP)
FROM
"test.db" D0
-Al.