回 帖 发 新 帖 刷新版面

主题:如何读数据库中的数据?如何获得数据库中一条记录中某个字段的值?

如题,求教达人!(30分)
再拜!

回复列表 (共7个回复)

沙发

select 字段名 from 表 where 条件

板凳

select * from 表 where 条件 (根据条件得到的是整个数据表中的数据)
select 字段名 from 表 where 条件 (根据条件得到的是整个数据表中的某个字段的数据)

3 楼

我是想知道,如何获得[color=FF0000]一条记录[/color]的某个字段的信息,谢谢

4 楼

就是 select 字段名 from 表 where 条件 (根据条件得到的是整个数据表中的某个字段的数据)

例如:select 姓名 from 人员表 where 昵称='hanwb2002'
当然,昵称要是唯一的就只有一条,如果还不行,再加条件。如:
select 姓名 from 人员表 where (昵称='hanwb2002') and (性别='男')and(年龄=26)

5 楼

哦,那我要是想把这个字段的内容,和一个特定的值比较,该怎么做呢?
再拜达人!

6 楼

那就写个自定义函数,利用数据库变量比较。以下是我曾经写的数据库自定义函数,你可以看看。
CREATE FUNCTION [dbo].[ExitsDepot] (@GoodsID VARCHAR(100))  
RETURNS @LastMoneyTab  TABLE
  ( 
    TYPE  VARCHAR(100),
    GOODSCODE  VARCHAR(100),
    NAME_SPEC  VARCHAR(200),
    UNIT  VARCHAR(50),
    AMOUNT  FLOAT DEFAULT (0.0),
    TOTAL_MONEY  MONEY  DEFAULT (0.0)
  )  
AS  
BEGIN 
  DECLARE @ORIGINAL_DATA  FLOAT
  SELECT  @ORIGINAL_DATA = SUM(ORIGINAL_DATA) FROM ALL_GOODS WHERE(GOODSCODE = @GoodsID)
  DECLARE @ORIGINAL_MONEY  MONEY
  SELECT  @ORIGINAL_MONEY = SUM(ORIGINAL_MONEY) FROM ALL_GOODS WHERE(GOODSCODE = @GoodsID)
  DECLARE @PARTIN_NUM  FLOAT
  SELECT   @PARTIN_NUM= SUM(AMOUNT) FROM STOCK_INFO, ALL_GOODS WHERE (STOCK_INFO.GOODSCODE = ALL_GOODS.GOODSCODE) AND 
                   (STOCK_INFO.GOODSCODE = @GoodsID) and (CODE_TYPE = '入库') 
  
  DECLARE @PARTIN_MONEY  MONEY
  SELECT  @PARTIN_MONEY= SUM(TOTAL_MONEY) FROM STOCK_INFO, ALL_GOODS WHERE (STOCK_INFO.GOODSCODE = ALL_GOODS.GOODSCODE) AND 
                   (STOCK_INFO.GOODSCODE = @GoodsID) and (CODE_TYPE = '入库') 
   
  DECLARE @PARTOUT_NUM  FLOAT
  SELECT  @PARTOUT_NUM=  SUM(AMOUNT) FROM STOCK_INFO, ALL_GOODS WHERE (STOCK_INFO.GOODSCODE = ALL_GOODS.GOODSCODE) AND 
                   (STOCK_INFO.GOODSCODE = @GoodsID) AND (CODE_TYPE = '出库') 
  
  DECLARE @PARTOUT_MONEY  MONEY
  SELECT  @PARTOUT_MONEY=  SUM(TOTAL_MONEY) FROM STOCK_INFO, ALL_GOODS WHERE (STOCK_INFO.GOODSCODE = ALL_GOODS.GOODSCODE) AND 
                   (STOCK_INFO.GOODSCODE = @GoodsID) AND (CODE_TYPE = '出库') 
  DECLARE @LEAVE_NUM FLOAT
  DECLARE @LEAVE_MONEY MONEY
  BEGIN
    IF (@PARTIN_NUM !=  NULL) AND (@PARTOUT_NUM !=  NULL)
      SET  @LEAVE_NUM =  (@ORIGINAL_DATA + @PARTIN_NUM -  @PARTOUT_NUM) 
    ELSE IF (@PARTIN_NUM =  NULL) AND (@PARTOUT_NUM !=  NULL)
      SET  @LEAVE_NUM =  (@ORIGINAL_DATA -  @PARTOUT_NUM) 
    ELSE IF (@PARTIN_NUM != NULL) AND (@PARTOUT_NUM = NULL)
      SET  @LEAVE_NUM =  (@ORIGINAL_DATA + @PARTIN_NUM) 
    ELSE IF (@PARTIN_NUM = NULL) AND (@PARTOUT_NUM = NULL)
      SET  @LEAVE_NUM =  @ORIGINAL_DATA
    ELSE SET @LEAVE_NUM= 0
  
    IF (@PARTIN_MONEY != NULL) AND (@PARTOUT_MONEY != NULL)
      SET  @LEAVE_MONEY =  (@ORIGINAL_MONEY + @PARTIN_MONEY - @PARTOUT_MONEY) 
    ELSE IF (@PARTIN_MONEY = NULL) AND (@PARTOUT_MONEY != NULL)
      SET @LEAVE_MONEY =   (@ORIGINAL_MONEY - @PARTOUT_MONEY) 
    ELSE IF (@PARTIN_MONEY != NULL) AND (@PARTOUT_MONEY = NULL)
      SET  @LEAVE_MONEY =  (@ORIGINAL_MONEY + @PARTIN_MONEY) 
    ELSE IF (@PARTIN_MONEY = NULL) AND (@PARTOUT_MONEY = NULL)
      SET  @LEAVE_MONEY=  @ORIGINAL_MONEY
    ELSE SET @LEAVE_MONEY= 0
  END
  INSERT @LastMoneyTab
    SELECT DISTINCT ALL_GOODS.TYPE, ALL_GOODS.GOODSCODE, ALL_GOODS.NAME_SPEC,ALL_GOODS.UNIT, 
                                    @LEAVE_NUM, @LEAVE_MONEY
    FROM STOCK_INFO, ALL_GOODS WHERE (ALL_GOODS.GOODSCODE = @GoodsID)
  RETURN
END

7 楼

定义一个变量,接下来比较自己动脑子!!!

declare @变量名 数据类型
set @变量名=(select 字段名 from 数据库。。数据表 where 条件式)

你要的东西就在 @变量名 里

我来回复

您尚未登录,请登录后再回复。点此登录或注册