社区
MS-SQL Server
帖子详情
求sql语句,选最大字段问题
ahking
2003-11-22 09:48:10
1、首先判断某一字段的最大值,然后找出所有等于该最大值的记录,怎么写
2、还有一个数据倒入的问题,数据库内有一表,从excel按字段相同追加数据,同时表内一字段把新追加的数据都赋某一值,怎么写??
...全文
364
28
打赏
收藏
求sql语句,选最大字段问题
1、首先判断某一字段的最大值,然后找出所有等于该最大值的记录,怎么写 2、还有一个数据倒入的问题,数据库内有一表,从excel按字段相同追加数据,同时表内一字段把新追加的数据都赋某一值,怎么写??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
28 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
youngby
2003-12-02
打赏
举报
回复
MARK
ahking
2003-12-02
打赏
举报
回复
大力快看看
ahking
2003-12-02
打赏
举报
回复
我如果对数据库中的日期型字段这样操作convert(char(8),日期型字段,120)可不可以,效率如何?
让select CONVERT(varchar(10), 日期型字段,120) 作为选出来的一列,需要加别名么?如果要加,相当选出几列?一列还是两列?
ken2003
2003-12-02
打赏
举报
回复
gz
tangxc2003
2003-12-02
打赏
举报
回复
1:Select * from 表 where 字段 = (Select max(字段) from 表)
2:SQL数据导入导出
update 表 set 字段 = 新值
ahking
2003-12-02
打赏
举报
回复
UP
ahking
2003-11-26
打赏
举报
回复
up
ahking
2003-11-26
打赏
举报
回复
up
ahking
2003-11-24
打赏
举报
回复
我是说convert(char(8),getdate(),112) 是不是在读取数据的时候对所有记录进行操作导致读出数据变慢??
zjcxc
元老
2003-11-22
打赏
举报
回复
不是速度快不快的问题.
而是在SQL中,那种处理方法的速度是最快的.
pengdali
2003-11-22
打赏
举报
回复
style
日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。
SQL Server 支持使用科威特算法的阿拉伯样式中的数据格式。
在表中,左侧的两列表示将 datetime 或 smalldatetime 转换为字符数据的 style 值。给 style 值加 100,可获得包括世纪数位的四位年份 (yyyy)。
不带世纪数位 (yy) 带世纪数位 (yyyy)
标准
输入/输出**
- 0 或 100 (*) 默认值 mon dd yyyy hh:miAM(或 PM)
1 101 美国 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yy
4 104 德国 dd.mm.yy
5 105 意大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美国 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
- 21 或 121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
- 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM
- 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM
* 默认值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始终返回世纪数位 (yyyy)。
** 当转换为 datetime 时输入;当转换为字符数据时输出。
*** 专门用于 XML。对于从 datetime 或 smalldatetime 到 character 数据的转换,输出格式如表中所示。对于从 float、money 或 smallmoney 到 character 数据的转换,输出等同于 style 2。对于从 real 到 character 数据的转换,输出等同于 style 1。
pengdali
2003-11-22
打赏
举报
回复
select CONVERT(varchar(10), getDate(),120) --不要时间2002-1-1
select convert(char(8),getdate(),112) ----20020101
select convert(char(8),getdate(),108) ---06:05:05
pengdali
2003-11-22
打赏
举报
回复
UNION 运算符
将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中的所有查询的全部行。这与使用联接组合两个表中的列不同。
使用 UNION 组合两个查询的结果集的两个基本规则是:
所有查询中的列数和列的顺序必须相同。
数据类型必须兼容。
语法
{ < query specification > | ( < query expression > ) }
UNION [ ALL ]
< query specification | ( < query expression > )
[ UNION [ ALL ] < query specification | ( < query expression > )
[ ...n ] ]
参数
< query_specification > | ( < query_expression > )
是查询规范或查询表达式,用以返回与另一个查询规范或查询表达式所返回的数据组合的数据。作为 UNION 运算一部分的列定义可以不相同,但它们必须通过隐性转换实现兼容。
下表说明数据类型与相应 (ith) 列的选项的比较规则。
ith 列的数据类型 结果表中 ith 列的数据类型
非数据兼容类型(数据转换不由 Microsoft® SQL Server™ 隐性处理)。 SQL Server 返回的错误。
长度为 L1 和 L2 的固定长度 char。 长度与 L1 和 L2 中较长的那个相等的固定长度 char。
长度为 L1 和 L2 的固定长度 binary。 长度与 L1 和 L2 中较长的那个相等的固定长度 binary。
任一列或两列都是可变长度 char。 长度与为 ith 列指定的最大长度相等的可变长度 char。
任一列或两列都是可变长度 binary。 长度与为 ith 列指定的最大长度相等的可变长度 binary。
两列都是数字数据类型(如 smallint、int、float、money)。 与两列的最大精度相等的数据类型。例如,如果表 A 的 ith 列是 int 类型,表 B 的 ith 列是 float 类型,则 ith 列在结果表中的数据类型是 float,因为 float 比 int 更精确。
两列的描述都指定 NOT NULL。 指定 NOT NULL。
UNION
指定组合多个结果集并将其作为单个结果集返回。
ALL
在结果中包含所有的行,包括重复行。如果没有指定,则删除重复行。
ahking
2003-11-22
打赏
举报
回复
to:zjcxc(邹建) union all是什么意思?你的方法快不快oracle的tochar可是很慢啊
xjwxiong
2003-11-22
打赏
举报
回复
select * from A having id=max(id) group by id
zjcxc
元老
2003-11-22
打赏
举报
回复
SQL中的日期格式,可以用convert来指定格式:
--例子:
select convert(varchar(10),getdate(),120)
union all
select convert(varchar,getdate(),102)
union all
select convert(varchar,getdate(),112)
--结果:
------------------------------
2003-11-22
2003.11.22
20031122
(所影响的行数为 3 行)
zjcxc
元老
2003-11-22
打赏
举报
回复
--指明字段,直接追加就行了嘛.
insert into 表(a1,b2,c3) select a1,b2,c3 from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls'
,sheet1$
ahking
2003-11-22
打赏
举报
回复
excel的字段要多于数据库表的,用追加的方式把excel表内数据添加到数据库中,如excel有字段a1,a2,a3,b1,b2,b3,数据库中有字段a1,b2,c3,而且有数据,怎样将excel中的a1,b2,c3的数据追加到数据库中相应字段中?用dts可以直接做到么?
顺便问一另个问题:怎样选择我想要的日期格式,如在库中是datetime,我选出来为yyyymm格式,sql可以这样写么:select *,max(rq)
pengdali
2003-11-22
打赏
举报
回复
2、
update 你的表 set 列=tem.列 from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\aa.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...表名 tem where 你的表.id=tem.id
pengdali
2003-11-22
打赏
举报
回复
1、首先判断某一字段的最大值,然后找出所有等于该最大值的记录,怎么写
select * from TABALENAME where 字段=(select max(字段) from TABLENAME)
2、还有一个数据倒入的问题,数据库内有一表,从excel按字段相同追加数据,同时表内一字段把新追加的数据都赋某一值,怎么写??
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\aa.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...表名
表名的定义默认为页名,你也可以“工具栏-->插入-->名称-->定义”
加载更多回复(8)
数据库添加
字段
sql语句
在咱们平时开发的时候,很容易遇到这种状况,就是在开发的时候,有的需
求
可能会拓展咱们数据库中的表,好比添加
字段
什么的,下面就是添加
字段
的
sql语句
:sql添加一个
字段
:数据库alter table 表名 add
字段
名 ...
添加
字段
的
sql语句
添加
字段
,比如我在数据表中添加一个 age
字段
,类型为int(11) ALTER TABLE player ADD (age int(11));...MySQL -
SQL语句
增加
字段
/修改
字段
/修改类型/修改默认值_william_n的博客-CSDN博客_mysql添加
字段
sql语句
...
mysql中利用
sql语句
修改
字段
名称,
字段
长度等操作(亲测)
这些操作可以在phpmyadmin或者别的mysql管理工具中完成,但是我们有时为了更方便的管理,会
选
择写
sql语句
来实现。 1.修改
字段
的长度 语法: ALTER TABLE 表名 MODIFY COLUMN
字段
名 数据类型(修改后的长度) 例子...
oracle扩充
字段
长度的
SQL语句
,
sql语句
修改
字段
长度
原始发行者:面包屑修改
字段
属性的
SQL语句
如果数据量非常大,达到了数百万条记录,请使用企业管理器更改
字段
类型,但经常会超时,更改不成功,那么可以使用
SQL语句
来更改,如下所示:a,更改
字段
类型的长度,可更改表...
MySQL -
SQL语句
增加
字段
/修改
字段
/修改类型/修改默认值
有时[比如在Linux服务器下]需要使用
SQL语句
直接对数据表进行新建/修改表结构, 填充/更新数据等. 或借助数据库管理工具执行SQL,但是这种方法,比较适合做微小的操作~ 好处:使用SQL去操作,可以避免繁琐, 遗漏, 快捷...
MS-SQL Server
34,874
社区成员
254,639
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章