2010-07-29 9 views
2
ID   NAME      TIME 
--------------------------------------------- 
1 United Arab Emirates 3:00 
2 Sri Lanka      2:00 
3 Turkey     4:00 
4 Yemen      4:00 
5 Us     11:00 
6 Sweden     5:00 
7 England     6:00 
8 Singapore   23:00 

Cher Je veux la liste des noms entre 2.00 à 10.00 temps qui est champ varchar. je l'ai faitcomment utiliser entre dans le serveur sql

select * from tblindiantime where IndianTime between ('1.00') and ('10.00') 

qui me donne mal .. enregistrements dans d'autres cas, il me montre erros de conversion .. plz aider

+0

Certaines recherches sur des questions/réponses en double vous auraient aidé. http://stackoverflow.com/questions/948133/use-between-with-varchar-sql-server – Tobiasopdenbrouw

+0

Quel est le type de données de la colonne Heure? où est la colonne IndianTime? – PSK

+0

@prakash: Le temps est varchar (est dans la question originale). IndianTime est probablement une variable (amit patil a posé plusieurs questions qui le suggèrent). La réponse de Dave devrait fonctionner (et c'est la meilleure idée en général). – Tobiasopdenbrouw

Répondre

2

Vous devez spécifier '1.00' et 10,00' comme datetimes, en supposant que le La colonne IndianTime est une date-heure.

0

Essayez ceci:

... where convert(int, substring(IndianTime, 0, charindex('.', IndianTime)) 

Cela pourrait être hors de 1 dans les deux sens, mais vous aurez une idée.

2

Quel type de données votre heure est-elle enregistrée? *CARBONISER? Si votre SGBDR est MSSQL et que vous utilisez SQL 2008 time type de données, cela devrait fonctionner

select * from tblindiantime where IndianTime between '01:00' and '10:00' 
Questions connexes