Excel & SQL: как преобразовать строку в двойную в операторе Select - PullRequest
1 голос
/ 06 января 2011

У меня есть лист в Excel. Один столбец в нем («ID») содержит строки со значениями: 1.01, 1.02, 1.03, 2.01, 3.01, 3.04 и т. Д.

Я хочу получить все строки на этом листе, где "ID" это> = некоторое значение, используя оператор SQL и ADO соединение (из кода VBScript). Итак, у меня два вопроса:

1) Могу ли я преобразовать значения идентификатора в SQL в два раза? Итак, тогда я могу сравнивать значения как числа с плавающей запятой и применять условия <и>. 2) Можно ли использовать в операторе select Macro из книги Excel?

Ответы [ 3 ]

4 голосов
/ 06 января 2011

Функция от CAST до FLOAT равна CDbl(), например.

SELECT CDbl(ID) AS ID_float 
  FROM [Sheet$];

Примечание DOUBLE является синонимом FLOAT, поэтому сокращение C ast до D ou bl e

0 голосов
/ 06 января 2011

Я нашел решение: если я приведу столбец к Integer, у меня будет тот же эффект, поэтому я использовал функцию CInt:

Select  *  from ["&strSheetName&"$]   where CInt(TestCaseId)  >= " & abs (strRow)
0 голосов
/ 06 января 2011

попробуй

WHERE CONVERT (ID, FLOAT) >= value
...