SQL语句实现截取字段显示信息

来源:百度知道 编辑:UC知道 时间:2024/05/19 20:13:18
如有一个部门ID字段,值为000100020003,表示XX部门XX室XX组,字段每四位对应一个级别,另一个值为00010002,表示XX部门XX室,没有第三级。现在怎么只用一条语句实现判断该字段长度,并截取显示字段信息,如12位就显示到三级信息,8位就显示到二级的信息。小弟对SQL语句的条件判断语句不了解,望高手指教!

select case when len(id)>8 then left(id,4)+'部门' else '' end
+substring(id,5,4)+'室'+right(id,4)+'组' from tablename

如果ID为代码,要换为单位汉字名,将其中LEFT,RIGHT,及SUBSTRING函数中的ID 换为(SELECT 单位名称 from 单位表 where 单位表.id=tablename.id)

1 select * from (SELECT LENGTH(字段) as tt FROM 表) aa,表 where aa.tt>8 这是判断出长度大于八位的 其中LENGTH是长度函数。
2 select SUBSTR(字段,0,14) from 表 字符串的截取

12位是显示到三级..例如XX部门XX室XX组还是只显示第三级XX组??

len(部门ID字段)=12 or len(部门ID字段)=8
这是计算字符串的长度

我有一个表
id name number price total memo
1 中华 2 1000 2000 11-2号25852
2 摩拉 2 500 1000 11-25号17614
3 中华 -1 1000 -1000 冲11-2号25852

我查通过查询查出如下结果

name memo number total
中华 25852 1 1000
摩拉 17614