SQL ServerでXMLを使用する場合は、試すことができます。 データ型にキャストし、キャストが失敗した場合にnull値を受け取ります。
declare @T table
(
Col varchar(50)
)
insert into @T values
('1'),
('1.1'),
('1,1'),
('1a')
select cast('' as xml).value('sql:column("Col") cast as xs:decimal ?',
'decimal(28,10)') as Col
from @T
結果:
Col
-------------
1.0000000000
1.1000000000
NULL
NULL