玉祥平台客服-15087858732

标题: 业务表构建中一些特殊字符作为列名的构建示例 [打印本页]

作者: 王爱东    时间: 2020-6-15 10:26
标题: 业务表构建中一些特殊字符作为列名的构建示例
    度量快速开发平台中,业务表构建的时候,可能会有设置列的名称为数字开头的,正常情况下数据库的列明不能是以数字开头的,比如:
select a.SUOSHUDANWEIID,sum(case when b.JIANCHAXIANGMU = 'GPS未在线' then 1 else 0 end) GPS未在线,
SUM(case when b.JIANCHAXIANGMU = '3G视频不合格' then 1 else 0 end) 3G视频不合格
from PROJECT_CHECK a,PROJECT_CHECK_DETAIL b
where a.ID = b.LIBAOLIJIANID and b.SHIFOUHEGE = 0  group by SUOSHUDANWEIID




一般情况下,我们在查询分析器中,就会在有数字的列明上加上中括号或者 是双引号。
方法一:
select a.SUOSHUDANWEIID,sum(case when b.JIANCHAXIANGMU = 'GPS未在线' then 1 else 0 end) GPS未在线,
SUM(case when b.JIANCHAXIANGMU = '3G视频不合格' then 1 else 0 end) [3G视频不合格]
from PROJECT_CHECK a,PROJECT_CHECK_DETAIL b
where a.ID = b.LIBAOLIJIANID and b.SHIFOUHEGE = 0  group by SUOSHUDANWEIID

方法二:
select a.SUOSHUDANWEIID,sum(case when b.JIANCHAXIANGMU = 'GPS未在线' then 1 else 0 end) GPS未在线,
SUM(case when b.JIANCHAXIANGMU = '3G视频不合格' then 1 else 0 end) as "3G视频不合格"
from PROJECT_CHECK a,PROJECT_CHECK_DETAIL b
where a.ID = b.LIBAOLIJIANID and b.SHIFOUHEGE = 0  group by SUOSHUDANWEIID


在度量快速开发平台中,我们业务表中设置变量用的是[:变量名],因此用方法一中括号的方式,业务表保存的时候就会出现错误。

如果确实要有特殊的数字作为列明,可以在业务表中命名为不是数字的,在窗体界面上再重新为这个列命名,比如网格部件可以设置字段显示名:网格部件1.SetColumnCaption("视频不合格","3G视频不合格") 。

另外就是通过方法二的写法来实现。 用   as  "列名称"







作者: 王爱东    时间: 2020-6-15 10:27
有时候需要用到这个。
作者: 万望    时间: 2020-6-15 10:39
还有这个讲究?犀利
作者: 万望    时间: 2020-6-17 16:04
一般情况下我们直接定义列名是没问题的,部分特殊字符需要加“”识别成字符串
作者: 王爱东    时间: 2020-6-18 16:44
是的,与数据库规范不相符合的命名,就需要加双引号。这样最好!




欢迎光临 玉祥平台客服-15087858732 (http://plat.delit.cn/) Powered by Discuz! X3.2