我寫這將插入一個字符串到一個文本文件,這意味着它需要所有的變量轉換爲字符串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