我有这样的查询:
Update T_Assets set F_Asset_CurrentValue=(F_Asset_CurrentValue - '99.58')
Where F_Asset_Code='ITSRDL00001'
但我收到了错误:
Msg 8117,Level 16,State 1,Line 1
无效
操作数数据类型varchar对减法运算符
答案 0 :(得分:3)
您收到此错误是因为算术操作的两个侧都是字符类型。
在以下示例中,隐式转换为“123”为123
public class MarkerDemoActivity extends android.support.v4.app.FragmentActivity
implements OnMarkerClickListener
{
private Marker myMarker;
private void setUpMap()
{
.......
googleMap.setOnMarkerClickListener(this);
myMarker = googleMap.addMarker(new MarkerOptions()
.position(latLng)
.title("My Spot")
.snippet("This is my spot!")
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
......
}
@Override
public boolean onMarkerClick(final Marker marker) {
String name= marker.getTitle();
if (name.equalsIgnoreCase("My Spot"))
{
//write your code here
}
}
在以下示例中,隐式转换为“456”为123
select 456 - '123';
以下示例产生错误
select '456' - 123;
select '456' - '123';
我的建议是使用显式转换
Msg 402, Level 16, State 1, Line 1
The data types varchar and varchar are incompatible in the subtract operator.