【发布时间】:2017-02-17 14:54:57
【问题描述】:
我需要将 INT 数据类型的列 ID 转换为空字符串 ['']。我不应该修改源列数据类型,但需要在另一个表中的转换中对其进行转换。 ID 列是“可空的”,因为它有空值。这是我的代码。
CREATE TABLE #V(ID INT) ;
INSERT INTO #V
VALUES (1),(2),(3),(4),(5),(NULL),(NULL) ;
SELECT CASE WHEN CAST(ISNULL(ID,'') AS VARCHAR(10)) = '' THEN '' ELSE ID END AS ID_Column
FROM #V;
返回:
ID_Column
1
2
3
4
5
NULL
NULL
当我修改我的 CASE 语句时,如下所示:
CASE WHEN CAST(ISNULL(ID,'') AS VARCHAR(10)) = '' THEN '' ELSE ID END AS ID_Column
它返回:
ID_Column
1
2
3
4
5
0
0
【问题讨论】:
标签: sql sql-server-2008 type-conversion isnull