如何在只包含特定字符的查询中创建列表

时间:2015-06-15 14:11:02

标签: sql-server

以下是我正在使用的表格:

FIRST_NAME  LAST_NAME FIRST_3_CHARACTERS NUMBER
Bill        Whithers FIRST_3_CHARACTERS LAST_3_CHARACTERS NUMBER_OF_CHARACTERS_IN_FIRST_NAME CHARACTER234
John        Lennon
Jack        White
John        Coltrane

没有值的所有内容都为空。列名是什么,正是他们所说的。我需要取他们全名的前三个字符,他们全名的最后三个字符,他们名字中的字符数,以及character234,意思是字符2,字符3和字符4.所以例如,如果我们看在约翰列侬,这将是约翰,非,4,奥恩。我对续集很新,我不确定如何创建值并将它们放入空行。请帮忙!

2 个答案:

答案 0 :(得分:1)

LEFT, RIGHT, LEN and SUBSTRING functions:

select left(first_name, 3) as FIRST_3_CHARACTERS, 
       right(last_name, 3) as LAST_3_CHARACTERS, 
       len(first_name) as NUMBER_OF_CHARACTERS_IN_FIRST_NAME, 
       substring(first_name, 2, 3) as CHARACTER234
from TableName

答案 1 :(得分:0)

This should do the trick. I've added demo data.

CREATE TABLE #temp(firstname nvarchar(50), lastname nvarchar(50))

INSERT INTO #temp(firstname,lastname)
VALUES(N'John', N'Lennon')

-- This do the trick
SELECT LEFT(firstname,3), RIGHT(lastname,3), LEN(firstname), SUBSTRING(firstname,2,3)
FROM #temp

DROP TABLE #temp

Do you need more comments on the statement itself?