SQL 求教

来源:百度知道 编辑:UC知道 时间:2024/05/25 13:41:28
我在学习SQL2000,学校有个试验要我做用sql语句完成下面题目
设A='ORACLE DATABASE' B='2005-3-12' C=234 使用函数写出满足下列条件的表达式,并显示结果
1。截取“DATABASE”字符串,测出变量A中字符串长度,在“DATA”和“BASE”字符串之间添加4个空格
2。取当前系统日期,取当前系统日期年份,将BC分别转换为日期类型
请诸位大虾帮帮小弟,要SQL语句,我要写实验报告的。。。谢谢啦
1.我用
declare @A varchar(18)
set @A='ORACLE DATABASE'
select substring(@A,8,8),datalength(@A),substring(@A,1,11)+space(4)+substring(@A,12,4)
已经解决了
2.
declare @B char(10),@C int
set @B='2005-3-12'
set @C=234
select getdate(),datename(year,getdate()),cast(@B as datetime),cast(@C as datetime)
就可以了,我用同学的代码做的,谢谢大家

设A='ORACLE DATABASE' B='2005-3-12' C=234 使用函数写出满足下列条件的表达式,并显示结果

1。截取“DATABASE”字符串,测出变量A中字符串长度,在“DATA”和“BASE”字符串之间添加4个空格

set A=(substring(len(substring(a,8,15)),1,4)+' '+substring(len(substring(a,8,15)),5,8))
--' ' 这个里面输入4个空格
2。取当前系统日期,取当前系统日期年份,将BC分别转换为日期类型
请诸位大虾帮帮小弟,要SQL语句,我要写实验报告的。。。谢谢啦

取当前系统日期,取当前系统日期年份:year(getdate())
将BC分别转换为日期类型:convert(varchar,B,20) convert(varchar,B,20)
其中20表示取的日期时间综合类型为2009-09-09 09:09:09
如果你只要日期类型,不要时间,可以将20换成10

以上经过测试成功

DECLARE @a varchar(30)
DECLARE @b varchar(30)
DECLARE @c int
SET @a='ORACLE DATABASE'
SET @b='2005-3-12'
SET @c=234
SELECT
LEN (@a)AS lenght,RIGHT(LEFT(@a,11),4)+' '+LEFT(RIGHT(@a,4),11)AS a1 ,
CAST(@b AS DATETIME)AS time,
DATEADD(DAY,@c,'2008-12-31')AS cdate
' '内为四个空格由于BAIDU无法显示只能看见一个空格

1.right(A,8) len(A) left(A,1