我们可以ORDER BY在 CTE 表达式中使用子句吗?
;with y as
(
select
txn_Date_Time, txn_time, card_No, batch_No, terminal_ID
from
C1_Transaction_Information
where
txn_Date_Time = '2017-10-31'
order by
card_No
)
select * from y;
Run Code Online (Sandbox Code Playgroud)
错误信息:
消息 1033,级别 15,状态 1,第 14 行
ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效,除非还指定了 TOP、OFFSET 或 FOR XML。消息 102,级别 15,状态 1,第 25 行
“,”附近的语法不正确。
我正在此链接上查看一些示例考试问题:
并遇到了下面的问题 1。
Which of the following datatypes has a fixed precision and a scale of six digits?
A. Double
B. Money
C. Int
D. Numeric
E. SmallInt
F. VarInt
G. Float
Answer is B. Money
Run Code Online (Sandbox Code Playgroud)
我不明白 Money() 如何具有固定的精度和六位数的比例。我浏览了这个 MSDN 文档但不明白:https : //docs.microsoft.com/en-us/sql/t-sql/data-types/money-and-smallmoney-transact-sql
有人可以用一些例子解释一下,以及如何在 MONEY() 中测量精度和规模。谢谢。
我有一个表格X,上面有一个accountNo列表.该字段(accoutNo)是nvarchar(8).现在问题是我们有时会在这个字段中获得字符,我想将它转换为bigint.
对不起,我不能在这里用表格格式.
我能够检查accountNo是否是数字值:
select x.accountNo from x where ISNUMERIC(x.accountNo)=1
Run Code Online (Sandbox Code Playgroud)
但是当我尝试仅转换值时,如果accountNo是数字,我仍然不能,我很困惑:
select x.accountNo, convert(bigint,x.accountNo) from x where ISNUMERIC(x.accountNo)=1
Run Code Online (Sandbox Code Playgroud)
我收到的具体错误:
消息8114,级别16,状态5,行1错误将数据类型nvarchar转换为bigint.
accountNo A0001001 A0001002 A0001003 /0005856 !0005046 ~0005872 A.005698 A/005623 A./00578 ./214536
Run Code Online (Sandbox Code Playgroud) 我正在使用RDL文件和存储过程来制作报告。RDL文件名是test.rdl,我有四个(4)存储过程连接到此test.rdl文件。因此该文件将具有四个数据集。
test.rdl
这些存储过程中的每一个都有具有相同名称(#temp)的临时表。
create table #temp(
ID int,
Name varchar(max),
Location varchar(max)
)
insert into #temp
select * from anothertable where date between '20171001' and '20171031'
Run Code Online (Sandbox Code Playgroud)
一些额外的查询以获得所需的结果,然后最终删除临时表。
select . . . . . . . . . .
drop table #temp
Run Code Online (Sandbox Code Playgroud)
因此,这四个存储过程都具有使用一个名称(#temp)的临时表。
所以我的问题是,当运行RDL测试文件并且一次调用所有四个(4)存储过程时,此方法是否可以正常工作?我关心的是#temp表,所有四个存储过程在运行结束时都有drop table #temp。这会否在运行时影响临时表的填充,因为其中一个存储过程可能在另一个表正在运行时以drop table完成,从而导致查询取消或结果不完整?
能不能请解释一下。我希望这是一个有效的问题。
t-sql sql-server stored-procedures reporting-services sql-server-2012