- 
	
	
		
		
		
				
					
					
				
				
		
			
				
					Hallo Birgitta, 
 
entschuldige die Unwissenheit eines Leien!!  
 
Hallo Andreas, 
  
sorry funktioniert leider immer noch nicht: 
 (ODBC-Aufruf fehlgeschlagen [IBM] [System i  Access ODBC-Treiber][DB2 für i5/OS]SQL0181-Wert in Datums-,Zeit-oder Zeitmarkenzeichenfolge ungültig.(#-181), 
aber ich glaube wir sind nah dran. 
Vielen Dank erstmal für Deine (Eure) Hilfe!!!
				 
			 
			
		 
			
				
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Bei mir funktioniert es im Navigator. 
Eventuell hast du in der Spalte nicht durchgehend das Format CCYYMMDD?? 
Lass dir mal den größten und niedrigsten Wert anzeigen. 
 
Select Min(BMDTEE ) From birdatv6.pbestlo 
Select Max(BMDTEE ) From birdatv6.pbestlo
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					
	
		
			
			
				
					  Zitat von  svt
					 
				 
				SQL0181-Wert in Datums-,Zeit-oder Zeitmarkenzeichenfolge ungültig.(#-181) 
			
		 
	 
 
Dann habt Ihr numerische Werte, die sich nicht in ein Datum konvertieren lassen, z.B. 0 oder 20110229. 
 
In diesem Fall wäre es besser das Current_Date in einen numerischen Wert zu verwandeln. 
 
Das funktioniert wie folgt: 
	Code: 
	Dec(Replace(Char(Current_Date, ISO), '-', ''), 8 , 0) 
 
Oder falls Ihr auf Release 6.1 oder höher seid: 
	Code: 
	Dec(VarChar_Format(Current_Timestamp, 'YYYYMMDD'), 8, 0) 
 
Birgitta
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					OT 
  
	
		
			
			
				Oder falls Ihr auf Release 7.1 oder höher seid:
			
		  
	 
 
Uuiii Brigitta, müsste ich da was wissen? 
  
/OT
				 
			 
			
		 
			
				
			
			
				kf  
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					
	
		
			
			
				
					  Zitat von  camouflage
					 
				 
				OT 
  
 
  
Uuiii Brigitta, müsste ich da was wissen? 
  
/OT 
			
		 
	 
 
... Sorry kleiner Vertipper (die 6 liegt ja auch knapp neben der 7)! 
Außerdem haben wir für Release 7.1 inzwischen den 5. Technologie Review (TR) was auch fast 2 Releases gleichkommt   
 
Birgitta
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
		
			  geschafft!!!!!
		
		
				
				
		
			
				
					Hallo Ihr Zwei   , 
 
genau das war das Problem, es gab einen 
Datensatz (Wie das auch immer passiert ist ???) mit blank und deswegen hat es auch nicht funktioniert!!!!! 
Jetzt klappt es Prima, dank Eurer Hilfe 
nochmals Vielen Dank!!!! 
 
Aber eine kleine Frage habe ich noch, 
wenn ich den aktuellen Tag und den Tag 
davor haben möchte (-1) wie Frage ich das ab????
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Current Date - 1 Days 
Current DAte + 1 Months 
usw.
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
		
			  Abfragezeit hat sich verzehtfacht!!!!
		
		
				
				
		
			
				
					Hallo AS/400 Freunde, 
 
seit dem ich meine Abfrage mit  
 
 
	Code: 
	AND Date(Trim (Char (TPDTE )) concat '000000') >Current Date -2 days 
 
 abfrage benötige ich 
das vielfache an Zeit gegenüber früher: 
	Code: 
	AND TPDTE > '20121231' 
 
Wie kommt das   bzw. wie kann man das 
wieder optimieren???
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Ich weiß nicht wo und wie Du das SQL-Statement einbindest bzw. aufrufst! 
 
Du solltest das numerische Tagesdatum - 2 Tage außerhalb des SQL Statements ermitteln und dann als (Host)Variable in das SQL-Statement einbinden.  
 
	Code: 
	AND TPDTE > :HostVarDate 
 
Sollte dies nicht möglich sein, solltest Du Dein Select-Statement dahingehend verändern, dass das numerische Datum direkt mit dem numerischen Wert des laufenden Datums - 2 Tage verglichen wird: 
 
	Code: 
	AND TPDTE > Dec(VarChar_Format(Current_Timestamp - 2 days, 'YYYYMMDD'), 8, 0) 
 
Vor Release 6.1 konnte der Query Optimizer nur Indices verwenden, die über Original-Spalten/Felder gebildet wurden.  
 
Sobald auf der linken Seite des Vergleichsoperators skalare Funktionen verwendet werden, wird die "Original"-Spalte verändert und der Query Optimizer kann für diese Spalte keinen Index mehr verwenden. Das kann dazuführen, dass anstatt eines Index-Access (Zugriff über Schlüssel) ein Table-Scan (ganze Tabelle wird gelesen) erfolgt. 
 
Ab 6.1 können Indices über "konstruierte" Felder gebildet werden, die dann u.U. auch vom Optimizer genutzt werden können (von IBM noch nicht vollständig realisiert!) 
 
Birgitta
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Hallo Birgitt, 
 
wir haben  Release 5, ich habe folgenden 
Code getestet: 
	Code: 
	AND TPDTE > Dec(VarChar_Format(Current_Timestamp - 2 days, 'YYYYMMDD'), 8, 0) 
 
Es kam die Fehlermeldung: "...SQL0171- Argument 2 der Funktion VarChar_Format ungültig" 
 
Die erste Variante interresiert mich sehr: 
	Code: 
	AND TPDTE > :HostVarDate 
 
Wenn ich das richtig verstehe kann ich das Vergleichs-Datum direkt aus einer Exceldatei (A1) ziehen. Das wäre genau mein Ding da ich mitlerweile diese gewünschten Daten über eine ODBC-Verbindung in Excel Abfrage!!! 
 
Mein Problem (da ich noch Anfänger bin!!!) ist, wie binde ich die Exceldatei (Zelle A1, mit den gewünschten Datum) 
in das SQL-Statement ein???? 
Kannst Du mir hier helfen???? 
Danke
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					VarChar_Format gibt es in V5 noch nicht. 
Ich glaube, aber Replace müsste es schon geben: 
  
dec(replace(char(current date - 2 days, iso), '-', ''), 8, 0) 
  
Wenn das nich geht, kannst du natürlich in einer Excelzelle das Format als JJJJMMTT vorbereiten. 
  
In deiner Abfrage verwendest du dann ein "?" als Parameter. 
Über die Abfrageeigenschaften kannst du dann jedem Parameter eine Excel-Zelle zuweisen.
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
		
			  
		
		
				
				
					
				
		
			
				
					Hallo Fuerchau, 
 
danke für deinen Tip funktioniert auch 
aber dauert auch extrem lange. Das mit 
den "?" als Parameter habe ich leider nicht 
hinbekommen, kannst Du mir als Laien das genauer erklären???? 
 
Danke
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
		 
		
		
	
 
	
	
 
	
	
	
	
	
	
		Similar Threads
		
			
			
- 
  
    
    
       By COS in forum IBM i Hauptforum
     
   
  
    Antworten: 3
       
        Letzter Beitrag: 17-11-08, 09:13
       
   
 
- 
  
    
    
       By cheffe1008 in forum NEWSboard Programmierung
     
   
  
    Antworten: 4
       
        Letzter Beitrag: 21-09-06, 17:05
       
   
 
- 
  
    
    
       By deni87991 in forum IBM i Hauptforum
     
   
  
    Antworten: 2
       
        Letzter Beitrag: 24-08-06, 11:05
       
   
 
- 
  
    
    
       By GraueEminenz in forum NEWSboard Programmierung
     
   
  
    Antworten: 1
       
        Letzter Beitrag: 10-07-06, 12:58
       
   
 
- 
  
    
    
       By klausgkv in forum NEWSboard Programmierung
     
   
  
    Antworten: 8
       
        Letzter Beitrag: 08-06-06, 14:47
       
   
 
			 
		 
	 
	
	
	
	
	
		
		
		
		
			
				 
				Berechtigungen
			
			
				
	
		- Neue Themen erstellen: Nein
 
		- Themen beantworten: Nein
 
		- You may not post attachments
 
		- You may not edit your posts
 
		-  
 
	 
	
	Foren-Regeln 
 
			 
		 
	 
 
  
  
 
  
 
 
  | 
Erweiterte Foren Suche
Google Foren Suche
  
Forum & Artikel   Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
 
 
 
 | 
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
 
- Cloud, Social Media, Devices
 
- DMS, Archivierung, Druck
 
- ERP + Add-ons, Business Software
 
- Hochverfügbarkeit
 
- Human Resources, Personal
 
- IBM Announcements
 
- IT-Karikaturen
 
- Leitartikel
 
- Load`n`go
 
- Messen, Veranstaltungen
 
- NEWSolutions Dossiers
 
- Programmierung
 
- Security
 
- Software Development + Change Mgmt.
 
- Solutions & Provider
 
- Speicher – Storage
 
- Strategische Berichte
 
- Systemmanagement
 
- Tools, Hot-Tips
 
 
Auf dem Laufenden bleiben
 
 | 
Bookmarks