尽信书不于无书,有时候也要相信自己。不要想得那么复杂,错了难道还要为书本圆谎。
getdate() sql server数据库是表示当前时间,不同数据库不一定有这个函数。这里查询条件用
Year(getdate())>1990显然是不对的。
if
exists
(select
from
dbosysobjects
where
id
=
object_id(N
'[dbo][p_getlinkinfo]
')
and
OBJECTPROPERTY(id,
N
'IsProcedure
')
=
1)
drop
procedure
[dbo][p_getlinkinfo]
GO
/--获取连接SQL服务器的信息
所有连接本机的: *** 作的数据库名,计算机名,用户名,网卡物理地址,IP地址,程序名
--邹建
200311(引用请保留此信息)--/
/--调用示例
--显示所有本机的连接信息
exec
p_getlinkinfo
--显示所有本机的连接信息,包含ip地址
exec
p_getlinkinfo
@includeip=1
--显示连接指定数据库的信息
exec
p_getlinkinfo
'客户资料
'
--/
create
proc
p_getlinkinfo
@dbname
sysname=null,
--要查询的数据库名,默认查询所有数据库的连接信息
@includeip
bit=0
--是否显示IP地址,因为查询IP地址比较费时,所以增加此控制
as
declare
@dbid
int
set
@dbid=db_id(@dbname)
create
table
#tb(id
int
identity(1,1),dbname
sysname,hostname
nchar(128),loginname
nchar(128),net_address
nchar(12),net_ip
nvarchar(15),prog_name
nchar(128))
insert
into
#tb(hostname,dbname,net_address,loginname,prog_name)
select
distinct
hostname,db_name(dbid),net_address,loginame,program_name
from
mastersysprocesses
where
hostname
<>
'
'
and
(@dbid
is
null
or
dbid=@dbid)
if
@includeip=0
goto
lb_show
--如果不显示IP地址,就直接显示
declare
@sql
varchar(500),@hostname
nchar(128),@id
int
create
table
#ip(hostname
nchar(128),a
varchar(200))
declare
tb
cursor
local
for
select
distinct
hostname
from
#tb
open
tb
fetch
next
from
tb
into
@hostname
while
@@fetch_status=0
begin
set
@sql=
'ping
'+@hostname+
'
-a
-n
1
-l
1
'
insert
#ip(a)
exec
masterxp_cmdshell
@sql
update
#ip
set
hostname=@hostname
where
hostname
is
null
fetch
next
from
tb
into
@hostname
end
update
#tb
set
net_ip=left(a,patindex(
'%:%
',a)-1)
from
#tb
a
inner
join
(
select
hostname,a=substring(a,patindex(
'Ping
statistics
for
%:%
',a)+20,20)
from
#ip
where
a
like
'Ping
statistics
for
%:%
')
b
on
ahostname=bhostname
lb_show:
select
id,数据库名=dbname,客户机名=hostname,用户名=loginname
,网卡物理地址=net_address,IP地址=net_ip,应用程序名称=prog_name
from
#tb
go
1、使用sysdate函数来获取当前时间,执行语句:select sysdate from dual即可。
2、使用sysdate()来获取当前时间,执行语句:select sysdate(),一定注意加上括号。
3、对于Gbase数据库,其与Mysql数据库在获取当前时间上相同,执行语句:select sysdate()。
4、对于sysbase数据库,其获取当前时间的函数是:select getdate()。
4、DB2数据库略有不同,在获取当前时间上,使用如下的查询sql:SELECT current timestamp FROM sysibmsysdummy1。
5、通常,我们在获取当前时间后,还想获得当前时间往前或者往后推一段时间的日期,对于DB2数据库,当前时间往前推一天: select sysdate-1 from dual。
SQL时间函数getdate()是指数据库所在服务器上的系统时间。
SQL Server日期时间函数:
1、获取当前日期GetDate
getdate()函数以datetime数据类型的格式返回当前SQLServer服务器所在计算机的日期和时间。其语法格式为getdate()。返回值舍入到最近的秒小数部分,精度为333秒数据库十七偏移量不包含在内。
示例:select getdate() --输出 2013-03-09 15:16:00570
2、GetUTCDate 获取UTC时间值
select GETUTCDATE() -- 2013-06-18 08:02:53253
这个获取到的是UTC时间。
3、获取年度信息YEAR
year函数以int数据类型的格式返回特定日期的年度信息。其语法格式为YEAR(date数据)。其中的date数据时一个可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、用户定义的变量或字符串文字。
示例:select year(getdate()) --输出 2013
4、获取月份信息MONTH
month函数以int数据类型的格式返回特定日期的月份信息。其语法格式为month(date数据)。其中的date数据时一个可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、用户定义的变量或字符串文字。
示例:select month(getdate()) --输出 3
5、获取天数信息day
day函数以int数据类型的格式返回特定日期的天数信息。其语法格式为day(date数据)。其中的date数据时一个可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、用户定义的变量或字符串文字。
示例:select day(getdate()) --输出 9
以上就是关于大学数据库的一个题目 答案为什么是Year(getdate())>1990全部的内容,包括:大学数据库的一个题目 答案为什么是Year(getdate())>1990、SQL获取获取时间的函数是getdate(), 请问获取IP,计算机名的函数是什么、DB2数据库如何获取当前系统时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)