![](/img/trans.png)
[英]How to convert string date into valid date format in SQL Server 2008?
[英]How to convert a string to integer in SQL Server 2008?
我受到SQL Server的挑战。 我有这个简单的查询
SELET *
FROM mytable
WHERE ISNUMERIC(propertyvalue) = 1
AND CONVERT(int, CONVERT(decimal(9, 0), ISNULL(propertyvalue, 0 ))) > 0
我试图改变转换线
CONVERT(decimal(9, 0), ISNULL(propertyvalue, 0))
至
CONVERT(decimal(9, 2), ISNULL(propertyvalue, 0))
要么
CAST(ISNULL(propertyvalue, 0) AS numeric)
没有什么我正在努力工作的事情。 我一直收到这个错误
Msg 8114,Level 16,State 5,Line 1
将数据类型varchar转换为数字时出错。
关于如何解决这个问题的任何想法?
EDITED
propertyvalue的类型为varchar(255)
,它有类似的数据
2
1.5
2.1
String
1String 456
我相信你需要在尝试转换之前过滤掉字符串数据:
SELECT *
INTO #temp
FROM mytable
WHERE propertyvalue NOT LIKE '%[^0-9]%'
SELECT *
FROM #temp
WHERE CONVERT(INT, CONVERT(DECIMAL(9, 0), ISNULL(propertyvalue, 0))) > 0
DROP TABLE #temp
我认为这与时期有关,它不知道如何转换它。
你试过漂浮吗?
CONVERT(float, ISNULL(propertyvalue, 0 ))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.