Vyberte všechny řádky, kde sloupec varchar převádí na desetinná

hlasů
0

Mám varcharsloupec, který obecně má hodnotu desítkové, ale někdy tam je nějaký odpadky znaky textu v této oblasti.

Je možné filtrovat v WHEREklauzuli pro řádky, které úspěšně převést na desítkovou hodnotu?

Jsem pomocí SQL Server 2005

Položena 24/04/2010 v 19:37
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
8

Jedním ze způsobů je ISNUMERIC funkce:

select * from YourTable where ISNUMERIC(col1) = 1

Je tu ještě jedna gotcha: isnumericvrací1 kdykoli řetězec může být převedena na jakýkoli číselný typ, včetně money. Řekněme například, že máte řádky pomocí různé oddělovače desetinných míst, jako je 7.9a 7,9. Oba budou převést do moneya isnumericvrací 1 pro oba. Ale jen jeden konvertuje k decimalzávislosti na nastavení jazyka SQL Server.

Odpovězeno 24/04/2010 v 19:37
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more