一条记录时采用以下方法:使用PATINDEX函数找出字符串中第一次出现数字的位置
declare @aa varchar(80),----INFO列
@bb varchar(80)
set @aa ='你好12按时地方'
set @bb=''
while PATINDEX('%[0-9]%',@aa)<>0 /每次循环找出一个数字/
begin
set @bb = @bb+substring(@aa,PATINDEX('%[0-9]%',@aa),1)/把找出来的数字进行相加/
set @aa=substring(@aa,1,PATINDEX('%[0-9]%',@aa)-1)+
substring(@aa,PATINDEX('%[0-9]%',@aa)+1,len(@aa)-PATINDEX('%[0- 9]%',@aa)) /把找出来的数字从原先的字符串中踢除出来,然后再循环找出更多的数字/
end
select @bb/要求得到的结果/
要对一张表中的所有记录进行查询时,可以把上面的语句改写成一个存储过程,采用游标进行处理,并把找出来的记录插入到相应的虚拟表里面,即可得到你想要的结果
第一个:查询下拉框的选项
select aName,aID form TBMenu a where aIsUsed=1
查询Name和ID: Name为显示文字,ID用于在选择这个选项后根据ID值进行下一步的查询
在你后台执行SQL的时候返回一个dateset 然后用combobox的datasuoce绑定,怎么绑需要自己找例子,很好的学习过程。
第二个:根据选择的菜单查询需要的信息
select from Infomations a where aMenuID=ID(选择下拉框选项对应的ID值)
在下拉框中选择“主食”,点击查询按钮,肯定是要查询和主食相关的数据,那就通过主食对应的ID(也就是下拉框绑定的时候查询的ID)去数据库对应的关联表中查询对应的信息。
这个地方你没有描述清楚你想实现的效果所以,根据你在上面补充的内容推测出的这些东西。
应该用ExecuteScalar取某行某列:
SqlConnection con = new SqlConnection("Data Source=\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\BMSmdf;Integrated Security=True;User Instance=True;");
SqlCommand cmd=new SqlCommand(""select 列名 from Bookinformation where Number ='" + ss + "'",con);
conOpen();
object r=cmdExecuteScalar();
if(r!=null)
string s=rToString();
conClose();
查询表格中的指定列数据,是select
语句其中一种语法
即:select
columna,columnb
from
table
如表格table有列
a,b,c,d
1、select
from
table
=
select
a,b,c,d
from
table
即显示表格式所以列
2、select
a,b
from
table
即指定显示表格式a,b两列
with t as(
select ,row_number() over(order by getdate()) as num
from tablename )
select from t where num=3
上述例子,num=3就是指取第三条,要抽取其他行,手工调整此数即可,其实SQL Server没有指定行号、列号的取数方法,给的例子是按记录插入表的顺序抽取
以上就是关于怎样在SQL中把一列中的数字提取出来全部的内容,包括:怎样在SQL中把一列中的数字提取出来、sql语句如何查询一个表中某一列的数据、怎么用sqlDataAdapter取出数据库的某一行某一列的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)