Sql 如何动态更改视图中列的大小
问题是,我有一个Employee表,其中有一个字段employeeAddress(varchar(200)),我正在SQL Server中创建一个视图EmployeeView,我想将其更改为employeeAddress(varchar(50)),这意味着我只想显示employeeAddress列的50个字符,然后用“…”连接 例如:-新德里(假设它有100个字符) 我想把它改成EmployeeView NewDel(假设是50个字符),那么它应该是“NewDel…”您可以试试这个Sql 如何动态更改视图中列的大小,sql,sql-server,Sql,Sql Server,问题是,我有一个Employee表,其中有一个字段employeeAddress(varchar(200)),我正在SQL Server中创建一个视图EmployeeView,我想将其更改为employeeAddress(varchar(50)),这意味着我只想显示employeeAddress列的50个字符,然后用“…”连接 例如:-新德里(假设它有100个字符) 我想把它改成EmployeeView NewDel(假设是50个字符),那么它应该是“NewDel…”您可以试试这个 create
create view DemoView as select name=SUBSTRING(name,1,50)+'...' from tableName;
大多数现有答案似乎缺少条件省略的必要性:
CREATE VIEW dbo.EmployeeView
WITH SCHEMABINDING
AS
SELECT
/* Other Columns */
CASE
WHEN LEN(EmployeeAddress) > 50
THEN SUBSTRING(EmployeeAddress,1,50) + '...'
ELSE EmployeeAddress
END as EmployeeAddress
FROM
dbo.Employee
这是一个奇怪的要求。你为什么要这么做?
CREATE VIEW dbo.EmployeeView
WITH SCHEMABINDING
AS
SELECT
/* Other Columns */
CASE
WHEN LEN(EmployeeAddress) > 50
THEN SUBSTRING(EmployeeAddress,1,50) + '...'
ELSE EmployeeAddress
END as EmployeeAddress
FROM
dbo.Employee