SQL SERVER 语句的问题!回答后还有重赏

来源:百度知道 编辑:UC知道 时间:2024/09/18 04:08:01
假设我有一个表A,里面有某一字段B,我要将B字段内的所有数值都除以1000,请问这个SQL语句要怎末写啊
举例:本来的一个值是2000,现在要除以1000显示为2
首先这个字段是字符串的,并且全部都是数字的那种,由于我是新手,对这个东西不怎么了解,才接手,所以我会尽量高的给分,请各位帮忙解决啊

怎么没消息了?看看星(*)号内的答案吧。
UPDATE 表A SET 字段B=字段B/1000
==================================
如果字段B是字符型,要这样才行:

************* 只显示就这样:
select 字段B=convert(nvarchar,convert(float,字段B)/1000),字段A,字段C FROM 表A
where ISNUMERIC(字段B)=1
--WHERE限定了数值型字段才计算,以免报错.
************星号中就是完整的语句,字段A和字段C你可以去掉.
select 字段B=convert(nvarchar,convert(float,字段B)/1000) FROM 表A
where ISNUMERIC(字段B)=1

====
如果不会类型转换函数,请在帮助里查找CONVERT 和CAST函数.
=====
字段A和字段C是什么?
哈哈,看来我画蛇添足了,
我是怕您查询的表中还有别的字段要显示,就表示其它要显示的字段啊.

数据类型转换函数:

CAST 和 CONVERT

作用:
将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。

语法
使用 CAST:

CAST ( 源值 AS 目标类型 )

使用 CONVERT:

CONVERT (目标数据类型, 源值)

是修改数据库中的数据为原来的2000分之一?还是只在显示出来的时候值为原来的2000分之一?

UPDATE A SET B=B/2000 这是修改数据库中的值

Select B from A,然后一项一项的Select出来的值除以200赋给你设置的变量。这是只显示为原来的2000分之一,数据库中的值不变

这其实就是字段数值更新的意思,而且包含整列