2010-07-29 3 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 

Здравствуйте Я хочу список имен между 2.00 к 10,00 времени, которое VARCHAR поле. я сделалкак использовать между в SQL SERVER

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

который дает мне неправильные записи .. в других случаях он показывает мне erros преобразования .. плз помочь

+0

Некоторых исследования в повторяющиеся вопросы/ответы помогли бы вам. http://stackoverflow.com/questions/948133/use-between-with-varchar-sql-server – Tobiasopdenbrouw

+0

Каков тип данных столбца Time? где находится столбец IndianTime? – PSK

+0

@prakash: Время - varchar (находится в оригинальном вопросе). IndianTime, вероятно, является переменной (amit patil задал несколько вопросов, которые предлагают это). Ответ Дейва должен работать (и это лучшая идея в целом). – Tobiasopdenbrouw

ответ

2

Вам необходимо указать «1.00» и 10.00' , как DateTimes, предполагая, Столбец IndianTime - это дата-время.

0

Попробуйте это:

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

Это может быть смещена на 1 в любом случае, но вы получите идею.

2

Какой тип данных хранится ваше время? * CHAR? Если РСУБД MSSQL и вы используете SQL 2008 time типа данные, это должно работать

select * from tblindiantime where IndianTime between '01:00' and '10:00' 
Смежные вопросы