如何在列中找到具有尾随空格的所有列值?对于领先的空间,它只是
select col from table where substring(col,1,1) = ' ';
Run Code Online (Sandbox Code Playgroud) 如何从此sqlcmd命令的结果集中抑制连字符(------------):
C:\temp>sqlcmd -d AdventureWorks -s ";"
-Q "SET NOCOUNT ON SELECT top 5 FirstName, LastName FROM Person.Contact;"
FirstName ;LastName
--------------------------------------------------;----------------------------
Gustavo ;Achong
Catherine ;Abel
Kim ;Abercrombie
Humberto ;Acevedo
Pilar ;Ackerman
C:\temp>
Run Code Online (Sandbox Code Playgroud) 我的表中有超过30列(sql server 2008).列类型为varchar(x).我知道在每列中,列值末尾有两个额外的空格.如何对所有列使用rtrim函数并将此修改保存到此现有表中?
编辑:有没有办法使用存储过程或游标,我不必手动声明所有列?
我必须从本文中解释的文本文件中提取列:
使用Perl one-liner从文本文件中提取列:类似于Unix cut
但我必须在没有安装Perl的Windows Server 2008中执行此操作.我怎么能用PowerShell做到这一点?任何想法或资源?我是PowerShell noob ......
我有很多.sql文件,有很多空行,例如
WITH
cteTotalSales (SalesPersonID, NetSales)
AS
(
SELECT SalesPersonID, ROUND(SUM(SubTotal), 2)
FROM Sales.SalesOrderHeader
WHERE SalesPersonID IS NOT NULL
GROUP BY SalesPersonID
)
SELECT
sp.FirstName + ' ' + sp.LastName AS FullName,
sp.City + ', ' + StateProvinceName AS Location,
ts.NetSales
FROM Sales.vSalesPerson AS sp
INNER JOIN cteTotalSales AS ts
ON sp.BusinessEntityID = ts.SalesPersonID
ORDER BY ts.NetSales DESC
Run Code Online (Sandbox Code Playgroud)
是否可以在SQL Server Management Studio中删除这些空行?这就是我想要的:
WITH
cteTotalSales (SalesPersonID, NetSales)
AS
(
SELECT SalesPersonID, ROUND(SUM(SubTotal), 2)
FROM Sales.SalesOrderHeader
WHERE SalesPersonID IS NOT NULL
GROUP BY …Run Code Online (Sandbox Code Playgroud) 我正在使用Windows,我想使用Perl,Python,批处理等一行提取文本文件中的某些列.
在Unix上,我可以这样做:
cut -d " " -f 1-3 <my file>
Run Code Online (Sandbox Code Playgroud)
我怎样才能在Windows上执行此操作?
我们正在开发ETL工作,我们的顾问在连接表时一直使用"旧式"SQL
select a.attr1, b.attr1
from table1 a, table2 b
where a.attr2 = b.attr2
Run Code Online (Sandbox Code Playgroud)
而不是使用内部连接子句
select a.attr1, b.attr1
from table1 as a inner join table2 as b
on a.attr2 = b.attr2
Run Code Online (Sandbox Code Playgroud)
我的问题是,从长远来看,是否有使用旧"加入"的风险?这种连接支持多长时间并保持为ANSI标准?我们的平台是SQL Server,我的主要原因是将来不再支持这些"where join".发生这种情况时,我们必须使用"内连接"连接方式修改所有ETL作业.
如果我使用#符号创建临时表:
SELECT * INTO #temp FROM dbo.table
Run Code Online (Sandbox Code Playgroud)
这张桌子在哪里?我从tempdb找不到这个.
有没有办法使用GUI(而不是T-SQL)为角色或用户授予执行权限?我正在使用SQL Server 2008 SP1.
sql-server ×7
sql ×4
string ×2
ansi-sql ×1
batch-file ×1
ggplot2 ×1
join ×1
perl ×1
permissions ×1
powershell ×1
python ×1
r ×1
sqlcmd ×1
ssms ×1
t-sql ×1
unix ×1