在SQL语句中我怎样将“20130105” 转换为yyyy-mm-dd的格式
数据表中没有日期,数据表中只有name,grade,id列(id是随机数,根据当前日期+4个随机数得到的,比如:201301220004),我现在需要得到日期,我通过截取字符串得到了20130122,我怎样将这个值转换为2013-01-22或者2013-1-22这种格式的;数据库中的表是不允许改的;
select a.name , a.grade , a.id, substring(a.id,1,8) as '日期' from a
该咋改?
你给我发的我都看过了,但没有我需要的啊:
数据表中没有日期,数据表中只有name,grade,id列(id是随机数,根据当前日期+4个随机数得到的,比如:201301220004),我现在需要得到日期,我通过截取字符串得到了20130122,我怎样将这个值转换为2013-01-22或者2013-1-22这种格式的;数据库中的表是不允许改的;
我的sql语句:
select a.name , a.grade , a.id, substring(a.id,1,8) as '日期' from a
该咋改?
用convert函数转换下就行了,不懂的可以搜下convert用法。
那个,我一添加 convert(varchar(10),cast(substring(a.id,1,8) as datetime),120) as '日期' 就出错,该咋办啊.....
追答你是啥数据库啊,我这是在sql2005上面的。还有报的是什么错,把你的sql语句贴出来。。
追问SELECT jiamgsqd.JGHSRY,jiamgsqd.ZJMSDHSLCPF,jiamgsqd.DH, convert(varchar(10),convert(datetime,' SUBSTRING(jiamgsqd.DH,1,8)',21),21) as '日期' FROM jiamgsqd where jiamgsqd.JGHSRY !=""
我用的工具看不到报的是什么,只显示“有错”字样
where jiamgsqd.JGHSRY !="" 是单引号你用双引号当让不对了。而且' SUBSTRING(jiamgsqd.DH,1,8)' 不用单引号。。。
追问我试过了,wherejiamgsqd.JGHSRY !="" 即使换成单引号也是错的,我的sql语句
SELECT ..., SUBSTRING(jiamgsqd.DH,1,8) as '日期' FROM jiamgsqd where jiamgsqd.JGHSRY !=""
这种情况下没错;
但sql语句是
SELECT ..., convert(varchar(10),convert(datetime,' SUBSTRING(jiamgsqd.DH,1,8)',21),21) as '日期' FROM jiamgsqd where jiamgsqd.JGHSRY !=""
就出错;
SELECT jiamgsqd.JGHSRY,jiamgsqd.ZJMSDHSLCPF,jiamgsqd.DH,
convert(varchar(10),convert(datetime,SUBSTRING(jiamgsqd.DH,1,8),21),21) as '日期'
FROM jiamgsqd where jiamgsqd.JGHSRY !=''
' SUBSTRING(jiamgsqd.DH,1,8)' 不用单引号。。。 你用单引号的话,转化成时间类型肯定要溢出的。。。
我完整的sql语句字符太多,给你发私信了,你帮我看看还有哪错了,非常感谢........
本回答被提问者采纳介绍sql语句如何使用函数
执行sql语句出错,求解!!!
版本问题。试着换一个版本或者去掉ENGINE=MyISAM。
SQL语句判断是否今天,200分求解!
if len(aaaa)=1 then aaaa=0 判断是否为两位数的日期,如果是一位数,就在前面加个0。
求解:SQL语句
--go是批量提交关键字,如果不写的话,sql会默认整体一起提交的。写上go,则语句提交,当前会话结束。下同 go declare @P1 int --声明一个变量 set @P1=192 --给变量赋值 exec sp_prepare @P1 output, NULL, N'SELECT QX FROM BSGROUP_QX WHERE GROUPID=''001'' AND DLDM=''93'...
菜鸟Sql语句求解 最好把每一句都解释 一下 不胜感激、、
USE [Student]GO 以下为系统自动生成的,一般没什么用,除非你改变了系统的环境 \/*** Object: Table [dbo].[C] Script Date: 04\/19\/2011 21:25:17 ***\/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO 建立数据表 CREATE TABLE [dbo].[C](指定字段名称,类型,长度,是否允许为...
sql语句求解。mysql 系统是三级分销系统,想要一个 按照 分销团队下线...
union all --二级 select count(*) as count from table_name t1 inner join table_name t2 on t1.pid = t2.id where t2.pid= 'id'union all --三级 select count(*) as count from table_name t1 inner join (select id,pid from table_name t1 inner join table_name t2 on ...
求解SQL循环语句求和
select 销售人员 , sum(售价 * 售价提成) as 提成 from 产品销售明细 a inner join 产品折算率表 b on a.产品品种 = b.产品品种 and a.品种级别 = b.品种级别 group by 销售人员
T-SQL 语句求解
用左关联就好了,B当做主表,左边了A。select * from b left join a on b.id=a.id
用sql 语句 怎么样查询一张表的所有内容 和 另一张表的部分内容? 求解...
A LEFT JOIN B ON A.列=B.列 SELECT A表需要的列名,B表需要的列名[,……] FROM A RIGHT JOIN B ON A.列=B.列 SELECT A表需要的列名,B表需要的列名[,……] FROM A OUT JOIN B ON A.列=B.列 几种方式都可以,看你的条件需要的是那种..正常的来说,第一个SQL 就可以满足你了 ...
SQL 语句查询求解
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c B:right outer join: 右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。 C:full outer join: 全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所...
Sql统计语句求解
sum(in) as 收入,sum(out ) as 支出 from (select datetime, money as in, 0 as out from cash union all select datetime, 0 as in, money as out from expend ) as p group by Convert(varchar(10),datetime,23)把两张表合并成一张表然后将时间转换成日期分组统计。采用吧。。。