|
|
|
Как определить можно ли конвертировать varchar в int ?
|
|||
|---|---|---|---|
|
#18+
Первое, что приходит на ум - это isnumeric(), но эта функция вернет true если строка будет равна '-12.345E-21', а convert(int, '-12.345E-21') вернет: Syntax error converting the varchar value '-12.345E-21' to a column of data type int. а также isnumeric('12,345')=1, но convert(real, '12,345') возвращает: Error converting data type varchar to real. Так как же быть ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2002, 16:08:21 |
|
||
|
Как определить можно ли конвертировать varchar в int ?
|
|||
|---|---|---|---|
|
#18+
Я бы использовал LIKE. Простой пример: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2002, 16:17:09 |
|
||
|
Как определить можно ли конвертировать varchar в int ?
|
|||
|---|---|---|---|
|
#18+
А может, больше подойдет что-то вроде этого: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Дело в том, что IsNumeric показывает возможность конвертить в типы "valid integer, floating point number, money or decimal type" (BOL). Причем если у нас в строке присутствует символ "e", то сначала конвертим во float, в остальных случаях - сначала в money, затем результат - в int. Если же в строке будут присутствовать оба этих символа, то функция IsNumeric вернет 0. С уважением, Александр Степанов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2002, 16:34:30 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32054900&tid=1819903]: |
0ms |
get settings: |
8ms |
get forum list: |
26ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 324ms |

| 0 / 0 |
