大学数据库的一个题目 答案为什么是Year(getdate())>1990

大学数据库的一个题目 答案为什么是Year(getdate())>1990,第1张

尽信书不于无书,有时候也要相信自己。不要想得那么复杂,错了难道还要为书本圆谎。

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数据库如何获取当前系统时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9511005.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存