我喜欢小写的 tsql,但很多时候我遇到的例子都是无缘无故大写的。
曾经有一个很好的键盘快捷键 ctrl-shift-l 可以解决这个问题,但由于某种原因它似乎在 SSMS 2014 中停止工作。
有谁知道他们改成啥了?
我需要用零填充我的列,最多可达 7 个。有些已经是 7 位数字了,但任何不是 7 位数字的都需要前导 0。对此进行编码的最佳方法是什么?
我需要创建一个 SQL Server 函数来检查输入字符串是否包含任何大写字符。如果是,那么它应该返回“OK”。如果不是,则应返回“NOT OKAY”。
当执行以下语句时,它应该返回预期值,如下所示。
PRINT dbo.CheckStringOfUpperAlphaOK('abc') -- Expected: "NOT OK"
PRINT dbo.CheckStringOfUpperAlphaOK('ABC') -- Expected: "OK"
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的,但我不知道如上所述指定返回值。
CREATE FUNCTION CheckStringOfUpperAlphaOK (@String varchar(MAX))
RETURNS VARCHAR(6)
AS
BEGIN
Declare @KeepValues as varchar(50)
Set @KeepValues = '%[^ ][A-Z]%'
While PatIndex(@KeepValues collate Latin1_General_Bin, @Temp) > 0
Set @Temp = Stuff(@Temp, PatIndex(@KeepValues collate
Latin1_General_Bin, @Temp) + 1, 0, ' ')
RETURN @Temp
Run Code Online (Sandbox Code Playgroud)
结尾
我正在尝试将外键添加到表中,但我不能,因为我收到此错误:
消息 547,级别 16,状态 0,第 1 行 ALTER TABLE 语句与 FOREIGN KEY 约束“FK_RDATA_COMBO_VALUES_ID_REFERENCES”冲突。冲突发生在数据库“MyDatabase”、表“dbo.EVA_REFERENCES”、列“ID_REFERENCES”中。
错误消息表明问题与此冲突,FK_RDATA_COMBO_VALUES_ID_REFERENCES但这是我尝试创建的 FK 的名称,它还不存在。
这是我的桌子:
CREATE TABLE [dbo].[RDATA_COMBO_VALUES](
[ID_RDATA_COMBO] [int] IDENTITY(1,1) NOT NULL,
[ID_REF_CDATA] [int] NOT NULL,
[ID_MODULE_REC_ID] [int] NOT NULL,
[VALUE] [nvarchar](max) NULL,
[ID_REFERENCES] [int] NOT NULL,
CONSTRAINT [PK_RDATA_COMBO_VALUES] PRIMARY KEY CLUSTERED
(
[ID_RDATA_COMBO] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[RDATA_COMBO_VALUES] WITH CHECK ADD …Run Code Online (Sandbox Code Playgroud) 我有这个表数据:
我想执行一个 SQL 查询,该查询将给出每个城市不同贷款申请的总数。
例如,我期望这个输出
City Wexford
Loans 1
City Waterford 1
Loans 1
City Galway
Loans 3
Run Code Online (Sandbox Code Playgroud)
知道我需要执行什么样的查询才能获取每个城市的不同贷款计数吗?
好的标题很难让我表达,所以可以编辑
我的问题是我可以用更短的方式写下面的查询
在所有情况下,何时相同
SQL server 2014
这里是查询
update
tblCrawlUrls
set
cl_LastCrawlDate = case
when Len(@cl_CrawlSource) > 2 then SYSUTCDATETIME()
else cl_LastCrawlDate
end ,
cl_TotalCrawlTimes = case
when Len(@cl_CrawlSource) > 2 then @cl_TotalCrawlTimes
else cl_TotalCrawlTimes
end ,
cl_Ignored_By_Containing_Word = case
when Len(@cl_CrawlSource) > 2 then @cl_Ignored_By_Containing_Word
else cl_Ignored_By_Containing_Word
end ,
cl_PageProcessed = case
when Len(@cl_CrawlSource) > 2 then 0
else cl_PageProcessed
end ,
cl_CertainlyNotProductPage = case
when Len(@cl_CrawlSource) > 2 then @cl_CertainlyNotProductPage
else cl_CertainlyNotProductPage
end ,
cl_CrawlSource = case
when Len(@cl_CrawlSource) …Run Code Online (Sandbox Code Playgroud) 我在下面的陈述中遗漏了什么吗?
select replace('xAxAxAx', 'xAx', 'xBx')
Run Code Online (Sandbox Code Playgroud)
因为它导致:
xBxAxBx
Run Code Online (Sandbox Code Playgroud)
这是已知的错误还是我错过了一些基本的东西?
微软称这个replace功能:
将所有出现的指定字符串值替换为另一个字符串值.
这不是第二次xAx出现吗?
以下帐户于2014年1月19日关闭,然后在2/27/2018重新开放,然后在3/26/2018再次关闭.如何在打开和关闭此帐户时编写要捕获的sql.closerestrictind ='C'是帐户关闭的时间.
我们正在数据仓库中工作,每天都会加载数据以捕获所有历史记录.
对于acct 1234,它应该是这样的:
closed on 1/19/2018
re-opened on 2/27/2018
closed on 3/26/2018
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有几个SQL Server 2014查询,它们回退一个数据集,我们需要计算相关但不同的标准以及该数据.我们使用子查询执行此操作,但这会大大减慢它的速度.到目前为止,我们在数据库中获得更多数据值得信赖.这是查询:
SELECT
T.*,
ISNULL((SELECT COUNT(1)
FROM EventRegTix ERT, EventReg ER
WHERE ER.EventRegID = ERT.EventRegID
AND ERT.TicketID = T.TicketID
AND ER.OrderCompleteFlag = 1), 0) AS NumTicketsSold
FROM
Tickets T
WHERE
T.EventID = 12345
AND T.DeleteFlag = 0
AND T.ActiveFlag = 1
ORDER BY
T.OrderNumber ASC
Run Code Online (Sandbox Code Playgroud)
我很确定它主要是由于在子查询之外的关系到Tickets表.如果我将其更改T.TicketID为实际票证#(例如999),则查询速度会快很多.
我试图将这些查询合并为一个,但由于子查询中还有其他字段,我无法让它正常工作.我在玩弄
COUNT(1) OVER (PARTITION BY T.TicketID) AS NumTicketsSold
Run Code Online (Sandbox Code Playgroud)
但也无法解决这个问题.
任何帮助将非常感激!
我正在编写一个简单的查询,以获取具有MAX ADDRESS_SEQ_NUM的VENDOR_ID,以便获得以下输出:
VENDOR_ID ADDRESS_SEQ_NUM
76109A 81
Run Code Online (Sandbox Code Playgroud)
问题是,当我编写以下SQL时,我要取回每个VENDOR_ID,它是自己的最大ADDRESS_SEQ_NUM,而我只想要整个表中的VENDOR_ID和最大ADDRESS_SEQ_NUM。
SELECT VENDOR_ID, MAX(ADDRESS_SEQ_NUM)
FROM PS_VNDR_ADDR_SCROL
GROUP BY VENDOR_ID
Run Code Online (Sandbox Code Playgroud) sql-server-2014 ×10
sql-server ×8
sql ×6
t-sql ×4
case ×1
foreign-keys ×1
sql-function ×1
ssms ×1