现在我有一张表假设:
id a1 a21 2@4 2 5@33 5@5 现在我想通过一个存储过程一条一条记录的取出并将前a1的值拆分然后进行比较并把结果存放到a2镇南关执行结果为:
id a1 a2 1 2@4 小于2 5@3 大于3 5@5 相等
id a1 a21 2@4 2 5@33 5@5 现在我想通过一个存储过程一条一条记录的取出并将前a1的值拆分然后进行比较并把结果存放到a2镇南关执行结果为:
id a1 a2 1 2@4 小于2 5@3 大于3 5@5 相等
解决方案 »
- 求一条查询语句
- 怎么能从这个表里选出不同的KC_ID记录,如果有多条记录,选择KC_TIME最大的那条?
- 急!!!!!error 926 database 'msdb' cannot be opened
- 很短的存储过程代码,看不懂
- 如何把smalldatetime类型转换为一个整数?
- MS-SQL查询数据问题,和昨天的那个有点差距
- 这个语句怎样写可以优化一下?
- 请斑竹、ACTIVEVB回答:如何可以得到SQL语句执行时的当前的记录数是多少??????
- 这个语句正确吗?(在线!即时送分!)
- DLL高手请进!!!!
- 求mysql高手, 两个表之间查询,需要满足其中一个表里的条件
- 关于表内记录间比较统计分析的问题请教
SET a2 =
CASE
WHEN CAST(LEFT(a1, CHARINDEX('@', a1)-1) AS INT) > CAST(RIGHT(a1, LEN(a1)-CHARINDEX('@', a1)) AS INT) THEN N'小于'
WHEN CAST(LEFT(a1, CHARINDEX('@', a1)-1) AS INT) < CAST(RIGHT(a1, LEN(a1)-CHARINDEX('@', a1)) AS INT) THEN N'大于'
WHEN CAST(LEFT(a1, CHARINDEX('@', a1)-1) AS INT) = CAST(RIGHT(a1, LEN(a1)-CHARINDEX('@', a1)) AS INT) THEN N'等于'
ELSE N'无法比较'
END
WHERE ISNUMERIC(REPLACE(a1, '@', '')) = 1
UPDATE tb
SET a2 =
CASE
WHEN CAST(LEFT(a1, CHARINDEX('@', a1)-1) AS INT) > CAST(RIGHT(a1, LEN(a1)-CHARINDEX('@', a1)) AS INT) THEN N'小于'
WHEN CAST(LEFT(a1, CHARINDEX('@', a1)-1) AS INT) < CAST(RIGHT(a1, LEN(a1)-CHARINDEX('@', a1)) AS INT) THEN N'大于'
WHEN CAST(LEFT(a1, CHARINDEX('@', a1)-1) AS INT) = CAST(RIGHT(a1, LEN(a1)-CHARINDEX('@', a1)) AS INT) THEN N'等于'
ELSE N'无法比较'
END