我对SQL很陌生,希望有人可以帮助我.
我有一个存储过程,我想根据列是否包含某个国家/地区来传递不同的值.
到目前为止,我只CASE在检查具有特定数字或值的匹配时使用,所以我不确定这个.有人可以告诉我以下是否有效和正确或让我知道如何正确地写这个(只是关于括号中的部分)?
(CASE countries
WHEN LIKE '%'+@selCountry+'%' THEN 'national'
ELSE 'regional') AS validity
Run Code Online (Sandbox Code Playgroud)
注意: @selCountry是国家/地区的变量名称,国家/地区可以为空,一个国家或多个国家/地区以逗号和空格分隔.基本上我只想检查国家是否包含@selCountry,如果是,则将有效性设置为"国家".
我对SQL很陌生,希望有人可以帮助我:
我有一个表格,其中一列dateX格式化为日期时间并包含标准日期.如何从此表中选择此dateX等于特定日期的所有记录,例如2014年5月9日?
我试过以下但是即使我有几个这个日期的记录,这也没有返回.
SELECT *
FROM dbo.LogRequests
WHERE (CONVERT(VARCHAR(10), dateX, 101) = '09/05/14')
Run Code Online (Sandbox Code Playgroud)
编辑:在数据库中,上面的示例如下所示,使用SQL 2012: 2014-05-09 00:00:00.000
非常感谢Mike的任何帮助.
我有一个存储过程,根据与日期输入匹配的日期获取记录,到目前为止工作正常.表格中的日期和输入日期都被格式化为日期时间.
我没有比较完整的日期,而是想改变它,以便它只比较月和日,以便它适用于任何一年的输入.
示例:
表中的日期保存为2013-04-30,输入日期为2014-04-30.我想要的是,只要月份和日期匹配,存储过程仍然会独立于年份返回该记录.
我的存储过程:
ALTER PROCEDURE [dbo].[FetchDays]
@inputDate datetime
AS
BEGIN
SET NOCOUNT ON;
SELECT dateID,
dayDT,
countries,
regions
FROM DaysDT
WHERE dayDT = @inputDate
FOR XML PATH('daysFixed'), ELEMENTS, TYPE, ROOT('root')
END
Run Code Online (Sandbox Code Playgroud)
非常感谢Mike的任何帮助.
我有一个带有列(dateDT)的表,格式化为datetime,并且@selYear我的Select中的year()的变量输入格式为int.
如何用变量输入替换表中日期,并以datetime格式返回结果(在Select中)?
我尝试了以下但是这会返回错误的日期/年份:
CONVERT(DATETIME, (@selYear + MONTH(dateDT) + DAY(dateDT))) AS dateDT,
Run Code Online (Sandbox Code Playgroud)
例:
@selYear = 2014
dateDT = 2010-05-02 00:00:00.000
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我的结果应该是:
dateDT = 2014-05-02 00:00:00.000
Run Code Online (Sandbox Code Playgroud) 我对 SQL Server 很陌生,希望这里有人可以帮助我(我使用的是 QL Server 2008)。
下面是一个按预期工作的小程序。
现在我想使用相同的过程来更新多个表,因为所有这些表都具有完全相同的列名和列格式,唯一的区别是我在XXX下面添加的表名的第二部分。
有人可以告诉我如何使其动态化并为此提供一些解释吗?我不能在这里提供更多信息,因为我不确定如何处理这个问题 - 除了可能在执行之前声明@sql nvarchar(max)和包装整个查询SET @sql = N'...'。
我的存储过程:
CREATE PROCEDURE [dbo].[Cal_UpdateTeam]
@team nvarchar(100),
@teamID int,
@notes nvarchar(1000),
@log nvarchar(100),
@admin varchar(50)
AS
BEGIN
SET NOCOUNT ON;
BEGIN
IF NOT EXISTS
(
SELECT *
FROM Cal_XXX
WHERE teamID = @teamID
)
INSERT INTO Cal_XXX
(
team,
teamID,
notes,
log,
admin
)
SELECT @team,
@teamID,
@notes,
@log,
@admin
ELSE
UPDATE Cal_XXX
SET team = @team,
teamID = …Run Code Online (Sandbox Code Playgroud) 我刚开始使用PHP,希望有人可以帮助我.
我试图myRegion从另一个字符串(" mainString")中提取一个字符串(" "),其中我的字符串始终以" myCountry:" 开头,;如果主字符串在myCountry之后包含更多国家,则以分号()结尾,如果主字符串不包含任何内容之后不再包含更多国家/地区.
显示主字符串的不同选项的示例:
我想要提取的内容始终是粗体部分.
我在考虑类似下面的内容,但这看起来还不对:
$myRegions = strstr($mainString, $myCountry);
$myRegions = str_replace($myCountry . ": ", "", $myRegions);
$myRegions = substr($myRegions, 0, strpos($myRegions, ";"));
Run Code Online (Sandbox Code Playgroud)
迈克,非常感谢您提供任何帮助.
有人可以告诉我如何使用当前年份而不是硬编码下面的年份?
$yearCurrent = date('Y');
$dayLast = new DateTime('2014-12-31');
Run Code Online (Sandbox Code Playgroud)
我想这可能是非常简单的事情,但到目前为止我找不到解决方案.