【发布时间】:2020-06-29 12:47:37
【问题描述】:
我有以下问题:
我有一个表 ArticleDescription 列如下:
ID (int) Description (varchar(max))
1 Muller Bogen, chrome-14440416700-55
2 Muller Bogen, chrome-14440416700-55
3 Muller Geruchverschluss 1 1/4¨, black-11188870-00
Muller Ma.02 Waschtisch-Wand-Einhandbatterie ohne Ablaufgarnitur, white-12345678-08
我只想将列Description的数据类型转换为int。
我试过了:
SELECT (case when isnumeric(Description) = 1 then cast(Description as int) end)
FROM ArticleDescription
但我收到以下消息:
Meldung 245、Ebene 16、状态 1、Zeile 20 Fehler beim Konvertieren des varchar-Werts "Dornbracht Bogen-04240418900-00" in den int-Datentyp。
【问题讨论】:
-
行没有数据类型。有点不清楚您的数据是什么样的以及您真正想要做什么。能否将数据放入表格格式并提供适当的数据库标签?
-
旁白:
IsNumeric()是出了名的problematic。Try_Parse更合适。 -
你期望这个
Muller Bogen, chrome-14440416700-55是什么整数?
标签: sql sql-server tsql casting varcharmax