这个:
SELECT 'R$ '+convert(varchar(50), CAST(998547 as money), -1) MONEYVALUE
将输出: R$ 998,547.00
在巴西,权利是: R$ 998.547,00
如何输出正确的格式?
我是一个Oracle人员,他突然把SQL Server和SSIS放在他的腿上,所以我可能没有以正确的方式使用这个术语,但是这里有:
有一个SSIS包可以将数据从Oracle数据库提取到我们的SQL Server 2008 R2仓库中.如果我在SSIS Visual Studio 2008中打开此包,系统会提示我输入密码:
包"MyRefresh.dtsx"中的敏感数据使用密码加密.
对于包本身.我输入密码.我运行包.效果很好.之前的人已经将这个软件包加载到SQL Server中,并且每天凌晨1点运行一个作业,它也在那里工作得很好.
最近,有一些数据库的变化.当然,包裹停止了工作.我能够修复它,而且,如果通过SSIS Visual Studio 2008运行它会再次运行.但是,当我将其加载到SQL Server中并且作业运行时,它会失败:
0xC001405F无法解密加密的XML节点,因为未指定密码或密码不正确.
在哪里/如何指定密码以便作业可以运行?
我有这个问题:
SELECT [ScheduleId]
,[EventId]
,s.[SkillId]
,[ADEmployeeId]
,sk.[Description]
FROM [Schedule] s
INNER JOIN [Skills] sk
ON s.SkillId = sk.SkillId
WHERE EventId = 1
Run Code Online (Sandbox Code Playgroud)
这是输出:
我希望有另一个列可以说明每个描述有多少个可用位置(将计算具有相同描述的行),还有一个列将计算具有相同描述的行数有多少ADEmployeeID.
在图像示例中,另外两列应该包含如下数据:
1 | 1
3 | 1
1 | 0
3 | 1
3 | 1
我有以下四个参数的存储过程.
存储过程spTest
:
CREATE PROCEDURE spTest
@Name varchar(20) = '',
@Address varchar(100) = '',
@City varchar(50) = '',
@Pin varchar(50) = ''
AS
DECLARE @DynamicWhere varchar(max)
DECLARE @Query varchar(max)
/* Here I want to prepare a dynamic where clause for all possibilities */
SET @Query = 'SELECT * FROM Test_Table '+ @DynamicWhere +'';
EXECUTE(@Query);
GO
Run Code Online (Sandbox Code Playgroud)
好吧,我正在准备这样:
IF @Name = '' AND @Address = '' AND @City = '' AND @Pin = ''
BEGIN
SET @DynamicWhere = '';
END
ELSE …
Run Code Online (Sandbox Code Playgroud) 我想要检索empId
属于多个城市的那个.所以我使用这个查询:
select empId
from phone
group by city
having count(city) > 1
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误:
消息8120,级别16,状态1,行1
列'phone.empId'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中.
当我在SQL Server 2008数据库表中插入多行时:
INSERT INTO MyTable (Name, ID)
VALUES ('First',1),
('Second',2),
('Third',3),
('Fourth',4),
('Fifth',5)
Run Code Online (Sandbox Code Playgroud)
我可以在一个INSERT INTO
声明中使用多少这些值?
我想知道我是否可以将一个外键添加到已存在的表中,其中包含记录.
表格结构及其中的数据目前看起来像是:
书籍表:
ID | BookName | BookCode | BookEdition | AuthorID
1 | Name1 | Code1 | 1 | 1
2 | Name1 | Code1 | 2 | 2
Run Code Online (Sandbox Code Playgroud)
作者表:
ID | AuthorName
1 | Name1
2 | Name2
Run Code Online (Sandbox Code Playgroud)
基本上,我想基于它添加两个表的链接AuthorID
,问题是列中已经有数据,如上例所示,但这些ID是正确的,它们也存在于Authors
表中.
是否可以在不重新创建表的情况下执行此操作?
我有第01列中的值,我希望将其转换为第02列中的值,从结尾删除所有零.有没有办法在SQL服务器中执行此操作?
Column 01 Column 02
20100000 201
29050000 2905
Run Code Online (Sandbox Code Playgroud)
谢谢你的期待.
sql sql-server sql-server-2008 sql-server-2008-r2 sql-server-2012
我有一个票务详细信息表,用于存储交易信息.以下是表数据的示例:
Ticket_Number Detail_type_ID Description Date_Created TotalAmount Barcode
1 11 Card Sale 1/1/16 5 123
1 1 Book 1/1/16 5
1 11 Card Red 1/1/16 -5 123
2 1 book 1/5/16 5
3 1 book 1/6/16 5
3 11 Card Red 1/6/16 -5 123
4 11 Card Sale 1/7/16 5 124
5 1 Book 1/7/16 5
5 11 Card Red 1/7/16 -5 124
6 11 Card Sale 1/8/16 5 123
6 1 Book 1/8/16 5
6 11 Card Red 1/8/16 -5 …
Run Code Online (Sandbox Code Playgroud) 我想将某些varchar替换为NULL.我直接用过
SELECT REPLACE('abc', '1', NULL)
Run Code Online (Sandbox Code Playgroud)
即对于每个输入varchar,如果I内至少有一个'1',则整个输入变为NULL(例如'123'为NULL,'abc-1'为NULL等)
甚至在没有匹配的情况下(例如不需要替换),我的烦恼是什么,它仍然给我NULL.例如,运行上面的语句会给你NULL.
为什么?任何解决方法?
使用"why"组件和一个简单的解决方法来挑选答案.