create or replace view bk_mbl_fault_analysis_v as
select t.*,
To_Char(创建时间, 'yyyy-mm') ym
……SELECT Distinct machine
FROM apps.bk_mbl_fault_analysis_v
Where 2 = 2
-----------------------------------------------------------
And ym > '2007-12' --1
And ym < '2008-12' --2上面的第1和第2分开单独执行没有问题(就是注释其中一个),两个都做条件就会报错“无效数字”。
select t.*,
To_Char(创建时间, 'yyyy-mm') ym
……SELECT Distinct machine
FROM apps.bk_mbl_fault_analysis_v
Where 2 = 2
-----------------------------------------------------------
And ym > '2007-12' --1
And ym < '2008-12' --2上面的第1和第2分开单独执行没有问题(就是注释其中一个),两个都做条件就会报错“无效数字”。
ym > to_date('2007-12-01','yyyy-mm-dd')
ym > '2007-12' 你之前to_char过了,比较是没有问题的.现在我估计你的原因是拼串没有加''而导致的无效数据,如果是在串中要这样表达:ym > ''2007-12''
换成
And ym > '200712' --1
And ym < '200812' --2 To_Char(创建时间, 'yyyymm')
试验一下
FROM apps.bk_mbl_fault_analysis_v
Where 2 = 2
And to_char(ym,'yyyy-mm') > '2007-12'
And to_char(ym,'yyyy-mm')< '2008-12'
-----------------------------------------------------------
SELECT machine--, count(*)
FROM apps.bk_mbl_fault_analysis_v
Where 2 = 2
And to_char(创建时间,'yyyy-mm') > '2007-12'
And to_char(创建时间,'yyyy-mm') < '2008-12'
Group By machine语句2
-----------------------------------------------------------
SELECT machine, count(*)
FROM apps.bk_mbl_fault_analysis_v
Where 2 = 2
And to_char(创建时间,'yyyy-mm') > '2007-12'
And to_char(创建时间,'yyyy-mm') < '2008-12'
Group By machine