The UNIX and Linux Forums  

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
comparer les fichiers dans le système avec la dernière date de modification bsandeep_80 Linux 6 01-15-2008 12:56 AM
Comment puis-je obtenir la date d'hier dans le format YYYYMMDD prasadsr HP-UX 4 01-19-2007 09:52 AM
obtenir la date d'hier? fedora De programmation et de script Shell 1 12-08-2006 03:28 PM
Hier, la fonction date ssmiths001 UNIX pour les nuls Questions et réponses 4 01-11-2005 10:06 AM
Hier, la date ssmiths001 UNIX pour les nuls Questions et réponses 2 11-22-2004 09:46 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 04-23-2008
sasaliasim sasaliasim is offline
Registered User
  
 

Date d'inscription: avril 2008
Posts: 22
Comparer date de db2 table hier à la date du système Unix

Je suis actuellement la suite de Korn shell script qui fonctionne bien:

#! / usr / bin / ksh
count \u003d `x-db2" select count (*) à partir de schema.tablename "»
echo "count"

Je voudrais ajouter un ", où" la clause de la 2ème ligne qui me permettrait d'obtenir un nombre record de tous les dossiers de schema.tablename où PROCESS_DT (une variable datetime dans tablename qui est formaté en tant que DATE9.) Est égale à la aujourd'hui les systèmes Unix date - 1. Je ne suis pas sûr de la bonne syntaxe. S'il vous plaît, aidez.

count \u003d `x-db2" select count (*) à partir de schema.tablename où PROCESS_DT \u003dSystème UNIX date-1
  #2 (permalink)  
Old 04-23-2008
Franklin52 Franklin52 is offline Forum Staff  
Modérateur
  
 

Join Date: Feb 2007
Posts: 4,345
Un lien qui vous aide à mai:

Obtenir hier DATE

Observe
  #3 (permalink)  
Old 04-23-2008
sasaliasim sasaliasim is offline
Registered User
  
 

Date d'inscription: avril 2008
Posts: 22
Je sais maintenant comment trouver le passé ce jour, cependant, je reçois un message d'erreur indiquant que les opérandes (PROCESS_DT et DATE_STAMP) ne sont pas compatibles. PROCESS_DT date DB2 est un temps variable avec un DATE9 format. Comment puis-je déclarer DATE_STAMP à une date variable temps?

#! / usr / bin / ksh
DATE_STAMP \u003d `TZ \u003d CST 24 date +% Y% m% d`
count \u003d `x-db2" select count (*) à partir de schema.tablename où PROCESS_DT \u003d "$ DATE_STAMP" "`
echo "$ count"
  #4 (permalink)  
Old 04-23-2008
Franklin52 Franklin52 is offline Forum Staff  
Modérateur
  
 

Join Date: Feb 2007
Posts: 4,345
Je ne suis pas familier avec db2, mais vous devriez faire quelque chose comme:


Code:
DATE_STAMP=`TZ=CST+24 date +%Y-%m-%d`
count=`db2 -x "select count(*) from schema.tablename where PROCESS_DT=DATE("$DATE_STAMP")`

J'ai changé le format de la date et dans l'instruction SQL-je convertir la chaîne en une date de valeur.


Observe
  #5 (permalink)  
Old 04-23-2008
sasaliasim sasaliasim is offline
Registered User
  
 

Date d'inscription: avril 2008
Posts: 22
Franklin52,

Après avoir essayé votre suggestion, j'ai reçu le message d'erreur suivant:

SQL0183N Un datetime opération arithmétique ou d'une fonction scalaire datetime a un résultat qui n'est pas valable à l'intérieur de la fourchette de dates. SQLSTATE \u003d 22008
  #6 (permalink)  
Old 04-23-2008
sasaliasim sasaliasim is offline
Registered User
  
 

Date d'inscription: avril 2008
Posts: 22
Désolé, j'ai oublié de changer le format de la date avant de lancer à nouveau. Il a travaillé, mais il a renvoyé une valeur de zéro pour compter. J'essaie de comprendre pourquoi cela s'est produit lors de PROCESS_DT dans le tableau db2 est égale à la date d'hier.
  #7 (permalink)  
Old 04-23-2008
sasaliasim sasaliasim is offline
Registered User
  
 

Date d'inscription: avril 2008
Posts: 22
Je viens d'essayer de changer le format de DATE_STAMP à +% m /% d /% Y pour correspondre au format des valeurs de PROCESS_DT (04/22/2008), mais reste encore la même erreur que mentionnés précédemment.
Closed Thread

Bookmarks

Tags
shell script, shell scripting, scripts unix, unix scripts de base

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 05:24 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0