我正在尝试在SQL中创建一个视图。我们将此视图称为“A7T8”。视图将从数据库中提取名字和姓氏,并将名字和姓氏连接到名为FullName的字段中。但是,我只想选择在名字和姓氏中总共至少有四个As的连接名称。 (Rebecca Aaronson不会被展示,因为她只有3个As,但会展示Harry Flanagan。
目前我的代码是:
CREATE VIEW A7T8 AS
SELECT FNAME || ' ' || LNAME AS FULLNAME
FROM A7
WHERE Upper(LNAME) LIKE '%A%A%A%A%' OR Upper(FNAME) LIKE '%A%A%A%A%'
ORDER BY LNAME, FNAME;
但是这只会拉出名字中有四个As或者姓氏中有四个As的名字。我希望它能够在连接的全名中提取总共至少为4的名称。我该怎么做?
答案 0 :(得分:0)
您可以尝试以下方法
CREATE VIEW A7T8 AS
select FNAME + ' ' + LNAME AS FULLNAME
from [A7]
where len(FNAME + LNAME) - len(Replace(Upper(FNAME) + Upper(LNAME),'A','')) >= 4
ORDER BY LNAME, FNAME;
答案 1 :(得分:0)
您可以简单地写一下:
CREATE VIEW A7T8 AS
SELECT FNAME || ' ' || LNAME AS FULLNAME
FROM A7
WHERE UPPER(FNAME || ' ' || LNAME) LIKE '%A%A%A%A%'
ORDER BY LNAME, FNAME;
答案 2 :(得分:0)
我认为Concat可以完成这项工作,您必须在查询中使用它,而不是与设计人员联系
CREATE VIEW [dbo].[DEMO_VIEW]
AS
SELECT Concat('IND_', LIBELLE) as SECONDLIBELLE,
CODE as SECONDCODE
from dbo.DEMOTABLE
GO
答案 3 :(得分:-1)
使用REGEX。这将首先匹配1-4 A&#39>
创建视图A7T8 AS 选择FNAME || ' ' || LNAME AS FULLNAME 从A7 在哪里CONCAT(上(LNAME),"",上(FNAME))REGEX' [A] {1,4}' 订购LNAME,FNAME;