sql server如何将数字转换成字符串??asp+sql server 我数据库中,有个字段是存储手机号码的,11位, 我查询的时候怎么转换成字符串? 如何用cast?
sql=".......where .....cast(cellphone as varchar)......."
好像没用啊?
sql=".......where .....cast(cellphone as varchar)......."
好像没用啊?
sql=".......where .....cast(cellphone as varchar(20))......."
我有个表【biao】,其有个字段cp是int型的,存储数据比如 12345678 我现在要搜索记录,比如我输入关键字4,我希望列出表中所有数据中带有4的 keyword=request("keyword")
sql="select * from [biao] where charindex('"&keyword&"',convert(varchar(50),cp))>0" 为什么查询时有时错,有时对? 有些能查出来,有些不能查出来。 我那charindex和convert有用对吗?
但是,我执行起来就没用啊。
charindex造成的??
1,
cast(CellPhone as varchar(11)) 可以换成cast CellPhone as varchar(11) 这样写吗?
字段:
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位的关键字 都搜不出来。请教.
sql="select * from [Usr] where charindex('"&keyword&"',CellPhone)>0"发现搜索16,会把手机号为13671567888,13911567999等记录搜索出来。
但是这2个数字中,没有16字符啊?
怪了
比如13639090001
估计数据库引擎查询它时,它是以1.3639E+10形式表现的数据,。
然后经过cast转换,就变成“1.3639E+10” 字符串了。
导致搜索不到。但是,现在问题是
如何将它转换成字符串?
是不是分2步?
cast(cast(cellphone as Decimal) as varchar(11))???
sql=".......where .....convert(varchar(11),cellphone)......." 就可以了