我写这将插入一个字符串到一个文本文件,这意味着它需要所有的变量转换为字符串TSQL过程。而不是逐个案例陈述,是否有更容易做到这一点,它包含所有案件,并强制任何类型的字符串类型?tsql:将变量转换为字符串类型的最佳方式?
在此先感谢
我写这将插入一个字符串到一个文本文件,这意味着它需要所有的变量转换为字符串TSQL过程。而不是逐个案例陈述,是否有更容易做到这一点,它包含所有案件,并强制任何类型的字符串类型?tsql:将变量转换为字符串类型的最佳方式?
在此先感谢
全部大写的是文字文本,小写的东西进入你应该插值:
CAST(expression AS CHAR)
-- or:
CAST(expression AS VARCHAR)
您可以选择指定的长度。
不幸的是,如果您想以任何与默认表示不同的方式对日期时间进行格式化,这会更困难。
我的信息来自于MSDN site。我认为你必须仔细阅读该网站和其他网站,并仔细研究一下,但希望CAST
函数将是一个好的开始。
祝你好运!
我不认为有 - 如果有的话,我不相信它,因为很可能是在整体的格式很难控制。建立你自己的,它会看起来完全一样。因素考虑:
...它的推移和。
你需要转换/施放它每次。我做了使用功能:
CREATE FUNCTION QuoteNull
(
@InputStr varchar(8000) --value to force to string
)
RETURNS
varchar(8000)
AS
BEGIN
RETURN COALESCE(''''[email protected]+'''','null')
END
它把围绕价值或者只是单词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