我正在使用 SQL SERVER 2008 R2
我有带有结构 ID(varchar)、name(varchar) 和 Item(int) 的表 LV
ID Name Item
1 xxx 5
2 yyy 9
3 rrr 11
4 hhh 19
我想插入具有相同结构但有条件的表 LV_TEMP
当 Item > 9 时,我必须除以 9
什么期望表 LV_TEMP
ID Name Item
1 xxx 5
2 yyy 9
31 rrr 9
32 rrr 2
41 hhh 9
42 hhh 9
43 hhh 1
我怎么能在 SQL 上做到这一点,我在 C# 上用 operator modulo(%) 9 做到了
提前谢谢你
最佳答案
Modulo 的语法与 C# 中的相同:http://msdn.microsoft.com/en-us/library/ms190279.aspx
您可以使用 CASE
处理条件的表达式:
INSERT INTO LV_TEMP
SELECT
ID,
NAME,
Item = CASE WHEN Item > 9 THEN Item % 9 ELSE ... END --Put your logic here
FROM ....
关于带 if 条件的 SQL 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15198666/