如何在SQL查询中进行字符串操作

时间:2012-03-27 15:02:52

标签: sql ms-access

我知道我已经接近搞清楚但需要一些帮助。我正在尝试做的是从特定的表中获取一列,但切掉前4个字符。例如,如果在列中值为“KPIT08L”,则结果I为08L。这是我到目前为止所得到的,但没有得到预期的结果。

 SELECT LEFT(FIELD_NAME, 4)
 FROM TABLE_NAME

5 个答案:

答案 0 :(得分:2)

首先,left将为您提供最左侧的字符。如果您希望字符从特定位置开始,则需要查看mid

select mid (field_name,5) ...

其次,如果您重视性能,可移植性和可伸缩性,通常应该避免这种“子列”操作。通常将列拼接在一起比将它们拆开更容易(也更快)。

换句话说,将前四个字符保留在自己的列中,将其余字符保存在单独的列中,并在相关列中进行选择。如果您使用的是少于完整列的任何内容,那么从技术上讲,它不是该行的一个属性。

答案 1 :(得分:1)

尝试

SELECT MID(FIELD_NAME, 5)  FROM TABLE_NAME 

Mid非常强大,它可以让你选择起点和所有余数,或者,
如果指定,则长度视为

SELECT MID(FIELD_NAME, 5, 2)  FROM TABLE_NAME  ' gives 08 in your example text

答案 2 :(得分:0)

SELECT RIGHT(FIELD_NAME,LEN(FIELD_NAME)-4)
 FROM TABLE_NAME;

如果是通用字符串,那么上面的字符串将起作用......

答案 3 :(得分:0)

我目前的位置没有Access,但请尝试这样做。

SELECT RIGHT(FIELD_NAME, LEN(FIELD_NAME)-4)
FROM TABLE_NAME

答案 4 :(得分:0)

LEFT(FIELD_NAME,4)将返回FIELD_NAME的前4个字符。

您需要做的是:

 SELECT MID(FIELD_NAME, 5)
 FROM TABLE_NAME

如果你有一个10个字符的FIELD_NAME,该函数将返回最后6个字符(砍掉前4个字符)!