如何在不同的列中返回相同的数据?

时间:2014-08-20 14:09:52

标签: sql sql-server-2008

我的列数如下:

  column1 column2 column3 column4
  ID123   Apple   Red     Apple
  ID456   Apple   Blue    Apple
  ID987   Pear    Blue    Apple
  ID899   Pear    Blue    Apple

我想在column2 = column4下划线,如下所示:

  column1 column2 column3 column4
  ID123   Apple   Red     Apple
  ID456   Apple   Blue    Apple

我试过了:

  select column1,column2,column3,column4
  where column2=column4

但没有返回结果。

我的错误在哪里?

1 个答案:

答案 0 :(得分:1)

如果排序规则区分大小写,建议您使用UPPER或LOWER,我也应该对任何空格进行替换。

实施例

 CREATE TABLE #temp1
(
    column1 NVARCHAR(255),
    column2 NVARCHAR(255),
    column3  NVARCHAR(255),
    column4 NVARCHAR(255)
)

INSERT INTO #temp1 VALUES('ID123','Apple','Red',' Apple')
INSERT INTO #temp1 VALUES('ID456','Apple','Blue','Apple')
INSERT INTO #temp1 VALUES('ID987','Pear','Blue','Apple')
INSERT INTO #temp1 VALUES('ID899','Pear','Blue','Apple')

SELECT * FROM #temp1
WHERE REPLACE(UPPER(column2), ' ', '' ) = REPLACE(UPPER(column4), ' ', '' )

drop table #temp1