Aşağıdaki sorguyu çalıştırmaya çalışıyorum. Ben sorguda parametreoracle geçersiz biçim modeli, tarihlerin karşılaştı? Ile
SELECT to_char(TIMESTAMP, 'HH24') * 1 TIMESTAMP
,sum(TwoG) TwoG
,sum(ThreeG) ThreeG
,sum(FourG) FourG
FROM (
SELECT *
FROM T_CA_Cellsdown
UNION ALL
SELECT *
FROM T_CA_Cellsdown_TFVF
)
WHERE trunc(TIMESTAMP) = trunc(to_date('03-Apr-16', 'dd-Mon-yy'))
AND Type = 'Network'
GROUP BY to_char(TIMESTAMP, 'HH24') * 1
ORDER BY to_char(TIMESTAMP, 'HH24') * 1
Hata dan tarihini geçirerek: ORA-01481: geçersiz sayı biçimi modeli aşağıdaki sorgu çalışır
. Ben sadece sysdate
değiştirmeye çalıştığım bir tarih dizgesine php olarak kullanıcı girişi üzerinden geçiyorum. Neden 1 ile çarpıldığını bilmiyorum, bu, çalışarak istenen sonucu veren bir sorgudur.
SELECT to_char(TIMESTAMP, 'HH24') * 1
,sum(TwoG) TwoG
,sum(ThreeG) ThreeG
,sum(FourG) FourG
FROM (
SELECT *
FROM T_CA_Cellsdown
UNION ALL
SELECT *
FROM T_CA_Cellsdown_TFVF
)
WHERE trunc(TIMESTAMP) = trunc(sysdate-1)
AND Type = 'Network'
GROUP BY to_char(TIMESTAMP, 'HH24') * 1
ORDER BY to_char(TIMESTAMP, 'HH24') * 1
NLS_DATE_LANGUAGE'niz nedir ('nls_session_parameters konumundan parametre = 'NLS_DATE_LANGUAGE' 'şeklindedir)? "TIMESTAMP" sütununda hangi veri türü var? Bir tarih/zaman damgası olmadığını tahmin edeceğim mi? Son olarak, neden 1 ile çarpıyorsunuz (biraz garip bir şey etkilememelisiniz)? – Ben
Eğer saatlerin sayısını istediğiniz gibi çıkarabiliyorsanız (saat damgasıyla saat) '. Kesin olarak dönüştürmek veya to_number kullanarak 1 ile çarpmaktan daha basittir. Zaman damgası sütununuz ne tür bir şeydir - belirgin sesler, ancak aslında bir zaman damgası, bir tarih veya bir dizedir? NLS ayarlarını 'NLS_SESSION_PARAMETERS' ile sorgulayarak kontrol edebilirsiniz. Oradayken NLS_DATE_FORMAT ve NLS_TIMESTAMP_FORMAT adresini kontrol edin. (Ve soruya bilgi ekleyin). –
NLS_DATE_LANGUAGE ’ı nasıl bulabilirim?TIMESTAMP, DATE_TIME – shorif2000