我在验证csv文件时遇到问题。我使用csvJdbc api来验证csv。但在CSV中,有一个标题包含'>'标志。当我尝试使用该标头进行验证时,它会抛出异常。 有没有办法使用它,就像一些逃脱角色? 这是我试图运行的查询:
SELECT * FROM Temp_ where SIDE_A_IVD_BIN12(>60)>=0
SIDE_A_IVD_BIN10(50) SIDE_A_IVD_BIN11(60) SIDE_A_IVD_BIN12(>60)
0 0 0
0 0 0
0 0 0
0 0 0
答案 0 :(得分:1)
您是否尝试在查询周围添加大括号?
CREATE TABLE Temp_ (
[SIDE_A_IVD_BIN12(>60)] int
)
INSERT INTO Temp_ VALUES (-1)
INSERT INTO Temp_ VALUES (0)
INSERT INTO Temp_ VALUES (1)
SELECT * FROM Temp_ WHERE [SIDE_A_IVD_BIN12(>60)] >= 0
答案 1 :(得分:0)
您没有指定DBMS,但在标准SQL(以及几乎所有DBMS)中,包含特殊字符的标识符需要用双引号括起来:
SELECT *
FROM Temp_
where "SIDE_A_IVD_BIN12(>60)" >= 0;
编辑(在意识到“DBMS”为CsvJdbc
后):
The CsvJdbc manual(感谢@Gord的链接)还声明它使用SQL标准语法来引用包含特殊字符的标识符。
以上语法适用于我:
但我无法让CsvJdbc将这些数字视为数字,这就是我使用= '1'