使用PL\SQL更新数据库中的日期,代码如下,老提示确实右括号缺失
updateT_JBXX_JBXXsetCSRQ=(selectsubstr(SFZJH,7,4)fromT_JBXX_JBXX||'-'||selectsubstr(S...
update T_JBXX_JBXX
set CSRQ = (select substr(SFZJH, 7, 4)
from T_JBXX_JBXX||'-'||
select substr(SFZJH, 11, 2)
from T_JBXX_JBXX || '-' ||
select substr(SFZJH, 13, 2) from T_JBXX_JBXX
) 展开
set CSRQ = (select substr(SFZJH, 7, 4)
from T_JBXX_JBXX||'-'||
select substr(SFZJH, 11, 2)
from T_JBXX_JBXX || '-' ||
select substr(SFZJH, 13, 2) from T_JBXX_JBXX
) 展开
展开全部
select substr(SFZJH, 7, 4)
from T_JBXX_JBXX||'-'||
select substr(SFZJH, 11, 2)
from T_JBXX_JBXX || '-' ||
select substr(SFZJH, 13, 2) from T_JBXX_JBXX
你这段代码什么意思啊 ?
应该是这样吧?
update T_JBXX_JBXX
set CSRQ =
substr(SFZJH, 7, 4)||'-'||substr(SFZJH, 11, 2) || '-' || substr(SFZJH, 13, 2)
试试看
from T_JBXX_JBXX||'-'||
select substr(SFZJH, 11, 2)
from T_JBXX_JBXX || '-' ||
select substr(SFZJH, 13, 2) from T_JBXX_JBXX
你这段代码什么意思啊 ?
应该是这样吧?
update T_JBXX_JBXX
set CSRQ =
substr(SFZJH, 7, 4)||'-'||substr(SFZJH, 11, 2) || '-' || substr(SFZJH, 13, 2)
试试看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是这要替换CSRQ字段,替换内容是3段字符串联接
我会这样写:
update T_JBXX_JBXX
set CSRQ = substr(SFZJH, 7, 4) +'-'+substr(SFZJH, 11, 2) +'-'+substr(SFZJH, 13, 2)
你的问题在于,3个select 没有用括号分别括起来,所以会有你说的提示,如果所需截取字符串就是当前行记录中的字段,不需要用select,直接使用截取函数就可以了。
试试吧
我会这样写:
update T_JBXX_JBXX
set CSRQ = substr(SFZJH, 7, 4) +'-'+substr(SFZJH, 11, 2) +'-'+substr(SFZJH, 13, 2)
你的问题在于,3个select 没有用括号分别括起来,所以会有你说的提示,如果所需截取字符串就是当前行记录中的字段,不需要用select,直接使用截取函数就可以了。
试试吧
追问
你的这个写法也有问题啊,提示+无效字符
如果分别把他们括起来也是提示右括号缺失的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
T_JBXX_JBXX这个表只有一条记录吗,你的select语句没有条件限制,如果有多条记录的话,set语句肯定就错了啊,set后面必须要是一条确定的记录或者是null,多个值没法set了
更多追问追答
追问
记录有很多的,从每条记录里的SFZJH(身份证件号)字段中截取然和更新同一记录里的CSRQ字段,那我应该怎样才能一次更新多条记录呢??
追答
就按照一楼的写法就可以了。
update T_JBXX_JBXX
set CSRQ =
substr(SFZJH, 7, 4)||'-'||substr(SFZJH, 11, 2) || '-' || substr(SFZJH, 13, 2)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询