当前位置:首页 » 编程语言 » 用SQL取数

用SQL取数

发布时间: 2022-08-02 19:41:28

sql数据库如何提取数据

程序有问题呀,你的查询返回了login表中的所有数据,在判断用户名是否存在表中时,只读取了第一条,只要第一条记录的用户名不是你输入的那个用户名,a==username就不会成立。要用一个循环依次读取所有记录来判断才行。

建议在查询时以用户名为条件查询,这样只在查询后检查dr是否返回数据就可以判断用户名存不存在了。

string
username
=
textbox1.text.tostring();

string
password
=
textbox2.text.tostring();

string
qq
=
"select
*
from
login
where
username='"
+
username
+
"'";
sqlconnection
conn
=
new
sqlconnection(connstring);
conn.open();

sqlcommand
cmd
=
new
sqlcommand(qq,
conn);

sqldatareader
dr
=
cmd.executereader();

if
(dr.hasrows)
//判断dr是否返回了一行或多行数据

{
messagebox.show("用户名已存在,请重新输入!");
}

else

{

。。。。。。

}

Ⅱ sql,字符串中取数字

1、创建测试表,

create table test_str(id int, v_str varchar2(20));

Ⅲ SQL语句提取字符串中数字

比如你的表叫作TALBE1,字段是str1,类型为nvarchar,那么找出有湘政发的最大号加1这样写
select
max(convert(int,substring(str1,patindex(N'%[1234567890]%',str1),len(str1)-patindex(N'%[1234567890]%',str1)+1-patindex(N'%[1234567890]%',reverse(str1))+1)))+1
from
table1
where
str1
like
N'%湘政发%'
测试通过,耗时很长,请认真试试。
这是sql
server
的写法。
如果是ORACAL或其它的SQL语言您可以到这里参考一下。你会发现,用SQL
SERVER我的方法要比他的好

Ⅳ sql 取数问题

SELECT B.TYPE, MONTH(A.开始日期), COUNT(A.ID) AS 开始个数,
COUNT( CASE WHEN C.结束日期 IS NOT NULL AND C.结束日期 <> '' THEN A.ID ELSE NULL END) AS 结束个数,
CASE WHEN C.结束日期 IS NOT NULL AND C.结束日期 <> '' THEN DAYS(C.结束日期) - DAYS(A.开始日期) ELSE NULL END AS 处理时间
FROM A
LEFT JOIN B ON A.ID = B.ID
LEFT JOIN C ON A.ID = C.ID
WHERE (A.开始时间 >= 日期范围(开始时间))
GROUP BY B.TYPE,
CASE WHEN C.结束日期 IS NOT NULL AND C.结束日期 <> '' THEN DAYS(C.结束日期) - DAYS(A.开始日期) ELSE NULL END

话说 个数是个统计量 处理时间则针对每个ID都不一样 这两个放一起有点囧吧...
若数据库中日期为字符串 则将日期函数替换为相应的字符串函数
以上回答你满意么?

Ⅳ 用sql语句怎么从数据库中提取结果

1、我们首先在创建一个WEB页面,用EF导入数据库中的一个实体模型,然后创建一个按钮,点击按钮以后用EF向数据库中执行insert操作。

Ⅵ 怎样在SQL中把一列中的数字提取出来

一条记录时采用以下方法:使用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/*要求得到的结果*/

要对一张表中的所有记录进行查询时,可以把上面的语句改写成一个存储过程,采用游标进行处理,并把找出来的记录插入到相应的虚拟表里面,即可得到你想要的结果

Ⅶ sql语句在一个字段中提取数字

select regexp_substr('水库新村332号','[0-9]+' ) from al;--用正则表达式取出数字
select regexp_substr('水库新村332号','[[:digit:]]+') from al;

Ⅷ SQL怎样取出字符串中的数字

select
casewhenb.FModellike'%=%'thenSUBSTRING(b.FModel,CHARINDEX('=',b.FModel)+1,LEN(b.FModel)-CHARINDEX('=',b.FModel))
whenb.FModellike'%*%'thenSUBSTRING(b.FModel,0,LEN(b.FModel)-CHARINDEX('*',b.FModel))
endas长度

Ⅸ SQL取数问题

SELECT a.日期,b.客户 as 新客户 from
(select TRUNC(SYSDATE, 'MM') + ROWNUM - 1 as 日期 FROM DUAL
CONNECT BY ROWNUM <= TO_NUMBER(TO_CHAR(LAST_DAY(SYSDATE), 'dd'))) a
left join 销售表 b on a.日期 <= b.日期+60
order by a.日期

Ⅹ SQL 如何取出数据库中一列的所有值.....

1、首先在mysql创建表和添加数据。进入mysql,创建一个数据库,并使用该数据库。

热点内容
怎么看笔记本配置好坏怎么对比 发布:2025-01-23 08:50:00 浏览:514
安卓q用起来怎么样 发布:2025-01-23 08:49:14 浏览:294
foreach数据库 发布:2025-01-23 08:49:05 浏览:741
什么是车棚配置 发布:2025-01-23 08:42:58 浏览:312
智能电视盒子无线网密码在哪里 发布:2025-01-23 08:42:14 浏览:277
代理提取源码 发布:2025-01-23 08:41:35 浏览:62
nas网络服务器为什么贵 发布:2025-01-23 08:00:00 浏览:941
语音服务器未连接如何连接视频 发布:2025-01-23 07:59:11 浏览:883
日流量10万需要什么类型服务器 发布:2025-01-23 07:58:27 浏览:501
服务器获取地址失败 发布:2025-01-23 07:55:18 浏览:850