我知道我已经接近搞清楚但需要一些帮助。我正在尝试做的是从特定的表中获取一列,但切掉前4个字符。例如,如果在列中值为“KPIT08L”,则结果I为08L。这是我到目前为止所得到的,但没有得到预期的结果。
SELECT LEFT(FIELD_NAME, 4)
FROM TABLE_NAME
答案 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个字符)!