Внутреннее объединение только показывает строки, если существует запись соответствия на другом (справа) сторона соединения.
А (слева) внешнее объединение показывает строки для каждой записи на левой стороне, даже при отсутствии строк соответствия на другом (справа) стороны соединения. Если бы нет никакой строки соответствия, столбцы для другого (справа) примыкают, показал бы, АННУЛИРУЕТ.
Заглавные буквы - это буквальный текст, строчные буквы - это то, в что вам следует интерполировать значение:
CAST(expression AS CHAR)
-- or:
CAST(expression AS VARCHAR)
Вы можете дополнительно указать длину.
К сожалению, с datetimes, если вы хотите отформатировать его каким-либо образом, отличным от представления по умолчанию.
Моя информация взята с сайта MSDN . Я думаю, вам придется внимательно прочитать этот и другие сайты и немного поэкспериментировать с ними, но, надеюсь, функция CAST
станет хорошим началом.
Удачи!
вам нужно каждый раз преобразовывать / преобразовывать. Я создал функцию для использования:
CREATE FUNCTION QuoteNull
(
@InputStr varchar(8000) --value to force to string
)
RETURNS
varchar(8000)
AS
BEGIN
RETURN COALESCE(''''+@InputStr+'''','null')
END
она помещает в одинарные кавычки значение или просто слово null, если оно равно null, но вы можете настроить его по мере необходимости.
вот версия, которая автоматически обрабатывает форматирование дат:
CREATE FUNCTION QuoteNull
(
@InputStr sql_variant --value to force to string
)
RETURNS
varchar(8000)
AS
BEGIN
DECLARE @String varchar(8000)
SET @String=COALESCE(''''+ CASE SQL_VARIANT_PROPERTY(@InputStr,'BaseType')
WHEN 'datetime' THEN CONVERT(varchar(23),@InputStr,121)
ELSE CONVERT(varchar(8000),@InputStr)
END
+'''','null')
RETURN @String
END
Я не думаю, что есть - и если бы это было так, я бы не стал ему доверять, поскольку, вероятно, было бы очень мало контроля над общим форматированием. Создайте свой собственный, и он будет выглядеть именно так, как должен выглядеть. Факторы, на которые следует обратить внимание:
... это продолжается и продолжается.