Sql 我只想从表中获取大于10的数值
我只想从表中获取大于10的数值Sql 我只想从表中获取大于10的数值,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我只想从表中获取大于10的数值 select col1 from mytable col1 ---- 5.78 14.5 14.67 12 10.10 VERIFIED 15.3% 10 10.0 6.89 TNT 我希望得到以下结果: col1 ---- 14.5 14.67 12 10.10 15.3 10 10.0 SQL: SQL: SQL(假设数据类型为非数字类型): SQL(假设数据类型为非数字类型): 返回 Col1 Value 14.5
select col1 from mytable
col1
----
5.78
14.5
14.67
12
10.10 VERIFIED
15.3%
10
10.0
6.89
TNT
我希望得到以下结果:
col1
----
14.5
14.67
12
10.10
15.3
10
10.0
SQL:
SQL:
SQL(假设数据类型为非数字类型):
SQL(假设数据类型为非数字类型):
返回
Col1 Value
14.5 14.5
14.67 14.67
12 12
10.10 VERIFIED 10.10
15.3% 15.3
10 10
10.0 10.0
返回
Col1 Value
14.5 14.5
14.67 14.67
12 12
10.10 VERIFIED 10.10
15.3% 15.3
10 10
10.0 10.0
你的数据库管理系统是什么?另外,列的数据类型是什么?SQL 2008r2,数据类型是VARCHAR您的dbms是什么?另外,该列的数据类型是什么?SQL 2008r2,数据类型是varcharMsg 245,级别16,状态1,第1行将varchar值“5.78”转换为数据类型int时转换失败。Msg 245,级别16,状态1,第1行将varchar值“5.78”转换为数据类型int时转换失败。@user3376315help@user3376315如果这奏效了,您可以随意选择作为answer@user3376315乐意help@user3376315如果这有效,请随意选择答案
Declare @YourTable table (Col1 varchar(50))
Insert Into @YourTable values
('5.78'),
('14.5'),
('14.67'),
('12'),
('10.10 VERIFIED'),
('15.3%'),
('10'),
('10.0'),
('6.89'),
('TNT')
Select Col1
,Value = Left(col1,patindex('%[0-9] %',replace(col1,'%',' ')+' '))
From @YourTable
Where cast(Left(col1,patindex('%[0-9] %',replace(col1,'%',' ')+' ')) as money)>=10
Col1 Value
14.5 14.5
14.67 14.67
12 12
10.10 VERIFIED 10.10
15.3% 15.3
10 10
10.0 10.0