我的值结尾处是数字,负号和负号。需要一个表达式来格式化从数字值的结尾到结尾的负号
例如:
值:
22.50
-22.60
22.90-
23.46-
24.50-
我希望输出为
22.50
-22.60
-22.90
-23.46
-24.50
答案 0 :(得分:2)
假设值是一个字符串,则:
select (case when val like '%-' then '-' + replace(val, '-', '')
else val
end)
如果值存储为数字,则应用程序将在末尾添加减号。您可以将其转换为数据库中的字符串,例如cast(val as varchar(255))
。数据库应首先放置负号。
答案 1 :(得分:0)
以下查询假定以下内容:
insert into
称为table
的{{1}} DestinationTable
仅具有一个DestinationTable
的{{1}},为简单起见column
destinationColumn
,空字符串或非数字值 SourceTable.sourceColumn
答案 2 :(得分:0)
我认为OP需要SSIS解决方案:
将派生列与if if else一起使用(测试吗?true:false)
right(val,1) = "-" ? (DT_NUMERIC,10,5) ("-" + left(val,len(val)-1)) : (DT_NUMERIC,10,5) val
这假定val最初是作为字符串读取的。