使用SQL Server将字符插入INT字段

时间:2018-08-21 12:49:16

标签: sql-server sqlfiddle

我在SQL提琴中做了一个小提琴,正在尝试显示数字1-99的列表。如果满足某些条件,我也希望将数字替换为文本。我已经实现了条件,但是由于该列是一个INT字段,所以无法输入文本。我已经尝试过在条件之前使用CAST,但这只会导致SQL提琴崩溃。我也尝试将整个列更改为VARCHAR,但遇到了相同的结果。

感谢您的帮助!小提琴的链接在下面。

http://sqlfiddle.com/#!18/691f2/1

编辑工作代码

CREATE TABLE numbers(
    numbers int
    );

DECLARE @start as int
SET @start = 1
DECLARE @plus as int
SET @plus = 1
DECLARE @end as int
SET @end = 99

BEGIN TRANSACTION
WHILE (@start <= @end)
BEGIN INSERT INTO numbers 
values (@start) SET @start += @plus
END COMMIT TRANSACTION;

UPDATE numbers
SET numbers = '3737'
WHERE numbers%3 = 0 AND numbers%7 = 0;

UPDATE numbers
SET numbers = '3333'
WHERE numbers%3 = 0;

UPDATE numbers
SET numbers = '7777'
WHERE numbers%7 = 0;

SELECT (CASE numbers
WHEN 3333 THEN 'Open'
WHEN 7777 THEN 'Source'
WHEN 3737 THEN 'OpenSource'
ELSE CAST(numbers as VARCHAR)
END) AS Numbers
FROM numbers;

1 个答案:

答案 0 :(得分:0)

  

如果我创建两列,该如何合并呢?

如果要将int列和varchar列的值合并为一列,则必须将int强制转换为varchar,因为字符串值不能强制转换为int