如何使用>或者<在SQL查询中的标题名称?

时间:2014-11-28 09:52:24

标签: java sql csvjdbc

我在验证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

2 个答案:

答案 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标准语法来引用包含特殊字符的标识符。

以上语法适用于我:

enter image description here

但我无法让CsvJdbc将这些数字视为数字,这就是我使用= '1'

的原因