sql server如何将数字转换成字符串??asp+sql server 我数据库中,有个字段是存储手机号码的,11位, 我查询的时候怎么转换成字符串? 如何用cast? 
sql=".......where .....cast(cellphone as varchar)......." 
好像没用啊?

解决方案 »

  1.   

    --指定个长度
    sql=".......where .....cast(cellphone as varchar(20))......." 
      

  2.   

    asp+sql server 
    我有个表【biao】,其有个字段cp是int型的,存储数据比如 12345678 我现在要搜索记录,比如我输入关键字4,我希望列出表中所有数据中带有4的 keyword=request("keyword") 
    sql="select * from [biao] where charindex('"&keyword&"',convert(varchar(50),cp))>0" 为什么查询时有时错,有时对? 有些能查出来,有些不能查出来。 我那charindex和convert有用对吗?
      

  3.   

    cast(cellphone as varchar(11))
      

  4.   

    另外,可否 sql="select * from [biao] where charindex('"&keyword&"',cast(CellPhone as varchar(11)))>0"
      

  5.   

    sql="select * from [biao] where charindex('"&keyword&"',cast(CellPhone as varchar(11)))>0"可以,最好再加上','...
      

  6.   


    但是,我执行起来就没用啊。
    charindex造成的??
      

  7.   

    另外问
    1,
    cast(CellPhone as varchar(11)) 可以换成cast CellPhone as varchar(11) 这样写吗?
     
      

  8.   

    如果全部是電話號碼的話,那就別轉型了, SQL會自動隱式轉換的.
      

  9.   

    表:【User】
    字段:
    id... CellPhone   ..........
    1 ... 13633333333 ..........
    2 ... 13504578705 ..........
    3 ... 18904660505 ..........
    keyword=request("keyword")
    sql="select * from [User] where charindex('"&keyword&"',cast(CellPhone as varchar(11)))>0"
    我搜索1,搜不出来
    搜索3,可以
    搜索136不可以,搜索36可以,搜索363不可以,只要大于3位的关键字 都搜不出来。请教.
          
      

  10.   

    如果我直接
    sql="select * from [Usr] where charindex('"&keyword&"',CellPhone)>0"发现搜索16,会把手机号为13671567888,13911567999等记录搜索出来。
    但是这2个数字中,没有16字符啊?
    怪了
      

  11.   

    sql="select * from [User] where charindex('"&keyword&"',RTRIM(LTRIM(CellPhone )))>0keyword 是什么类型呀????
      

  12.   

    keyword  是request("keyword ")来的
      

  13.   

    我估计我猜到了,但是不知道怎么转换。因为我sql server数据库里的数据类型是  双精度的,为了保存11位手机号码
    比如13639090001
    估计数据库引擎查询它时,它是以1.3639E+10形式表现的数据,。
    然后经过cast转换,就变成“1.3639E+10” 字符串了。 
    导致搜索不到。但是,现在问题是
    如何将它转换成字符串?
    是不是分2步?
    cast(cast(cellphone as Decimal) as varchar(11))???
      

  14.   

    老兄,应该是:
    sql=".......where .....convert(varchar(11),cellphone)......."   就可以了