我有windows表单应用程序和mysql数据库。 我使用xml字符串来保存表单的详细信息,这里是我的xml
> <DocumentElement> <Table1>
> <Qualification>fef</Qualification>
> <University>fewfewf</University>
> <Subject>fefwe</Subject>
> <Grade>ffw</Grade>
> <Duration>fef</Duration>
> <StartDate>2016-06-05T00:00:00+05:30</StartDate>
> <EndDate>2016-06-05T00:00:00+05:30</EndDate> </Table1> </DocumentElement>
在我的存储过程中我有这个代码
-- calculate the number of row elements.
SET @v_row_count := EXTRACTVALUE(QualificationsXML, CONCAT('count(','/DocumentElement/Table1)'));
SET @v_row_iterator :=0;
SET @v_node := '/DocumentElement/Table1';
-- loop through all the row elements
WHILE @v_row_iterator < @v_row_count DO
SET @v_row_iterator:=@v_row_iterator+1;
SET @v_row := CONCAT(@v_node,'[',@v_row_iterator,']');
INSERT INTO emp_qualifications VALUES (
EmpNo,
EXTRACTVALUE(QualificationsXML, CONCAT(@v_row,'/Qualification')),
EXTRACTVALUE(QualificationsXML, CONCAT(@v_row,'/University')),
EXTRACTVALUE(QualificationsXML, CONCAT(@v_row,'/Subject')),
EXTRACTVALUE(QualificationsXML, CONCAT(@v_row,'/Grade')),
EXTRACTVALUE(QualificationsXML, CONCAT(@v_row,'/Duration')),
EXTRACTVALUE(QualificationsXML, CONCAT(@v_row,'/StartDate')),
EXTRACTVALUE(QualificationsXML, CONCAT(@v_row,'/EndDate'))
);
END WHILE;
但是当我试图保存它时给我这个错误
日期值不正确:“2016-06-05T00:00:00 + 05:30”列 第1行的'StartDate'
在我的表结构中,我有两列我想存储StartDate和EndDate
> `StartDate , Date,nullable > `EndDate ,Date,nullable
任何人都可以帮助我吗?
答案 0 :(得分:2)
我使用
删除了字符串的时间部分SUBSTRING_INDEX(extractValue一起(QualificationsXML, CONCAT(@v_row, '/起始日期')), 'T',1),
SUBSTRING_INDEX(extractValue一起(QualificationsXML, CONCAT(@v_row, '/结束日期')), 'T',1)
谢谢@ peter4499