2014-01-31 176 views
0

我必須SELECT使用REPLICATE函數的表中的數據以這樣的方式,如果字段4有數字數據,那麼在select語句中數據應出現在第10列。如果字段4不是數字,那麼該值應該出現在第20列,第10列應該是空白的。SQL Server複製

表有數據如下:

Field1 field2 Field3 Field4 

1  a  b   205 

2  s  t   A25 

如何做到這一點請任何意見。

+0

我在想如果你可以使用CASE聲明.. – Maverick

+0

...和ISNUMERIC() – cha

回答

0

爲什麼你使用REPLICATE這個?檢查Field4的值是否爲數字,如果是,則在Field10中添加,如果不是,則添加Field20。

SELECT Field1, Field2, Field3, Field4, 
/*... other columns... */ 
CASE WHEN isnumeric(Field4) THEN Field4 ELSE null END AS Field10, 
/*... other columns */ 
CASE WHEN isnumeric(Field4) THEN NULL ELSE Field4 END as Field20 
FROM myTable 
WHERE ....