我将表的DateTime字段转换为DateTimeOffset,但现在偏移量自动设置为+00:00.
我需要将此表的所有 DateTimeOffset字段更改为+1:00的偏移量.
如何在更新查询中执行此操作?
首先对不好的主题线抱歉.
编辑:这里的查询重复OrderNumbers我需要查询不重复OrderNumbers编辑:缩短问题,并提供一个更清晰的问题
我有一张表,其中包含已执行的所有工单的记录.有两种类型的订单.安装和故障呼叫.我的查询是查找在安装后30天内发生的所有故障呼叫,并将该故障呼叫(TC)与正确的安装(IN)相匹配.因此,故障呼叫日期必须在安装后发生,但不会超过30天.此外,如果同一帐户有两个安装和两个故障呼叫都在30天内发生,并且它们按顺序发生,结果必须反映出来.我遇到的问题是我得到一个安装订单,匹配两个不同的故障呼叫(TC)和一个与两个不同的安装(IN)匹配的故障呼叫(TC)
在SQL Fiddle的示例中,请密切关注安装订单号1234567810和故障呼叫订单号1234567890,您将看到我遇到的问题. http://sqlfiddle.com/#!3/811df/8
select b.accountnumber,
MAX(b.scheduleddate) as OriginalDate,
b.workordernumber as OriginalOrder,
b.jobtype as OriginalType,
MIN(a.scheduleddate) as NewDate,
a.workordernumber as NewOrder,
a.jobtype as NewType
from (
select workordernumber,accountnumber,jobtype,scheduleddate
from workorders
where jobtype = 'TC'
) a join
(
select workordernumber,accountnumber,jobtype,scheduleddate
from workorders
where jobtype = 'IN'
) b
on a.accountnumber = b.accountnumber
group by b.accountnumber,
b.scheduleddate,
b.workordernumber,
b.jobtype,
a.accountnumber,
a.scheduleddate,
a.workordernumber,
a.jobtype
having MIN(a.scheduleddate) > MAX(b.scheduleddate) and
DATEDIFF(day,MAX(b.scheduleddate),MIN(a.scheduleddate)) < 31
Run Code Online (Sandbox Code Playgroud)
使用下面的存储过程,我可以在给定每条记录的Row索引的情况下选择表的变量部分.我试图创建另一个类似于的存储过程MulTselect,只是这次表值参数将有另一列用于MulTUpdate存储过程的新值.
[RowIndex] int, [NewVal] [varchar] (4000) NOT NULL
Run Code Online (Sandbox Code Playgroud)
问题是,给定记录 - Rowindex和"NewValue",是否可以对多个记录进行UPDATE,如下面的选择程序?
--sproc signature
CREATE Proc [dbo].[MulTSELECTViaRowIndexSpTVP]
@SelectedTableName varchar (50),
@SelectedAction varchar(10),
@TestMulTSELECTViaRowIndexTVPar dbo.TestMulTSELECTViaRowIndexTVType READONLY
SET @CmdStr = 'SELECT * FROM ' + @SelectedTableName + '
WHERE RowIndex in (SELECT RowIndex from @TestMulTSELECTViaRowIndexTVPar);'
EXEC sp_executesql @CmdStr,N' @TestMulTSELECTViaRowIndexTVPar dbo.TestMulTSELECTViaRowIndexTVType READONLY',
@TestMulTSELECTViaRowIndexTVPar= @TestMulTSELECTViaRowIndexTVPar
Run Code Online (Sandbox Code Playgroud) 我的数据库中有以下条目:
E01234-1-1
E01234444-1-800000000
Run Code Online (Sandbox Code Playgroud)
我想修剪条目,所以我得到:
E01234-1
E01234444-1
Run Code Online (Sandbox Code Playgroud)
所以基本上,无论长度如何,我都希望在第二个“-”之前的所有内容
我该如何解决?我使用的是 MS SQL SERVER 2012
我正在使用它,但它只带来第一个连字符之前的数据,而不是第二个连字符
DECLARE @TABLE TABLE (STRING VARCHAR(100))
INSERT INTO @TABLE (STRING)
SELECT 'E01234-1-1'
UNION ALL SELECT 'E01234-1-200'
UNION ALL SELECT 'E01234-1-3000'
UNION ALL SELECT 'E01234-1-40000'
UNION ALL SELECT 'E01234-1-500000'
UNION ALL SELECT 'E01234-1-6000000'
UNION ALL SELECT 'E01234-1-70000000'
UNION ALL SELECT 'E01234444-1-800000000'
SELECT LEFT(STRING, CHARINDEX('-',STRING)-1) STRIPPED_STRING from @TABLE
Run Code Online (Sandbox Code Playgroud)
退货
E01234
E01234
E01234
E01234
E01234
E01234
E01234
E01234444
我需要在sql中将yyyy-mm-dd hh:mm:ss.msec转换为yyyy-mm-dd.
我试过了
CONVERT(DATETIME,MIN(Vdaily_calender.VDC_day_date),120)
Run Code Online (Sandbox Code Playgroud)
但得到相同的结果.
请指教
谢谢Ar
我有一个组合框,可从数据库加载数据,但出现一个错误,尽管我已将selectValue设置为表的主键,但无法在ListControl中设置selectedValue。但是仍然在运行时出现错误。这是代码。
private void FormAddStudent_Load(object sender, EventArgs e)
{
//For combobox Campuse
cBoxCampus.DataSource = GetAllCampuses();
cBoxCampus.DisplayMember = "campus_name";
cBoxCampus.SelectedValue = "campus_id";
//Foe ComboBox Department
cBoxDepartment.DataSource = GetAllDepartment();
cBoxDepartment.DisplayMember = "depname";
cBoxDepartment.SelectedValue = "depid";
}
Run Code Online (Sandbox Code Playgroud)
这是插入按钮背后的代码
private void btnInsert_Click(object sender, EventArgs e)
{
string CS = ConfigurationManager.ConnectionStrings["UMSdbConnectionString"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
con.Open();
SqlCommand cmd = new SqlCommand("SELECT ISNULL(MAX(std_id),0)+1 FROM Student", con);
cmd.CommandType = CommandType.Text;
tbID.Text = cmd.ExecuteScalar().ToString();
{
using (SqlCommand cmd1 = new SqlCommand("INSERT INTO Student (std_id,std_name,std_f_name,std_mob,std_gender,std_cnic,std_campus,std_dep,std_address,std_batch,std_batch_year)VALUES(@std_id,@std_name,@std_f_name,@std_mob,@std_gender,@std_cnic,@std_campus,@std_dep,@std_address,@std_batch,@std_batch_year)VALUES(@campus_id,@campus_name)", con))
{ …Run Code Online (Sandbox Code Playgroud) 所以我试图从我的数据库中获取"客户",但我得到一个例外
System.Data.dll中出现"System.Data.SqlClient.SqlException"类型的异常,但未在用户代码中处理
附加信息:必须声明标量变量"@Id".
using Core;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DatabaseAccess
{
public class DbCustomer
{
private string ConnectionString = ConfigurationManager.ConnectionStrings["local"].ConnectionString;
private SqlConnection connection { get; set; }
public DbCustomer()
{
connection = new SqlConnection(ConnectionString);
}
public Customer GetCustomer(int Id)
{
Customer customer = null;
connection.Open();
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT * FROM CUSTOMER WHERE Id = @Id;";
var reader = command.ExecuteReader();
while (reader.Read()) …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个递归CTE,它引用了之前编写的另一个CTE.
第一CTE nodes我已经封闭了与分号写递归前HierarchyCTE:
WITH nodes(node, node_name, parent, parent_name) AS
(
SELECT
Grp.PermissionGroupID as node,
Grp.GroupName as node_name,
GrpLink.ParentPermissionGroupID as parent,
ParentGrp.GroupName as parent_name
FROM _CCC_Permission_Group Grp
LEFT JOIN _CCC_Permission_GroupGroup GrpLink
on Grp.PermissionGroupID = GrpLink.ChildPermissionGroupID
LEFT JOIN _CCC_Permission_Group ParentGrp
on GrpLink.ParentPermissionGroupID = ParentGrp.PermissionGroupID
);
WITH Hierarchy(node, node_name, depth, parent, parent_name)
AS
(
SELECT
node,
node_name,
0,
parent,
parent_name
FROM nodes as FirstDepth
WHERE parent IS NULL
UNION ALL
SELECT
NextDepth.node,
NextDepth.node_name,
Parent.depth + 1,
Parent.parent,
Parent.parent_name
FROM nodes …Run Code Online (Sandbox Code Playgroud) 我怎样才能做一个连接2个不同的表db在同一domain像
SET DBname = "sample"
SELECT *
FROM Table1
INNER JOIN DBname.Table2 T On Table1.key = T.Key
Run Code Online (Sandbox Code Playgroud)
它的报告就像
无效的列名 T
任何帮助,将不胜感激
我很难获得此查询以返回1行中的总和.
SELECTst.[code], SUM(whst.WHQtyOnHand)
FROM dbo.[StkItem] st, dbo.WhseStk whst
WHERE whst.WHWhseID in (3, 4)
AND whst.WHStockLink = st.StockLink
AND st.Code = 'BNV203N'
GROUP BY st.[Code], whst.WHWhseID, whst.WHStockLink
Run Code Online (Sandbox Code Playgroud)
这是我得到的结果:
Code WHQtyOnHand
---------------------------
BNV203N 694
BNV203N 3748
Run Code Online (Sandbox Code Playgroud)
我总需要它们.
我刚开始使用SQL,我有一个非常基本的问题:
我尝试划分2列(金额/费率) - 我将它们从'money'转换为'INT'但是当我尝试执行时它给了我这个错误:
操作数数据类型varchar对除运算符无效.
这是我输入的查询:
select referenceid,
CONVERT(decimal(15,3), sellamount) as 'amount',
convert(decimal(15,3), rateactual) as 'Rate',
convert(decimal(15,3),'amount' / 'rate') as 'local amount'
FROM currencyfxconversions
Run Code Online (Sandbox Code Playgroud)
有人能帮我理解我做错了吗?
以下查询适用于 PostgreSQL 和 MS SQL,但不适用于 MYSQL
SELECT 1 as retVal WHERE EXISTS (SELECT 1 FROM posts WHERE topic = 'Sports')
Run Code Online (Sandbox Code Playgroud)
以下查询适用于 PostgreSQL 和 MySQL,但不适用于 MS SQL
SELECT EXISTS (SELECT 1 FROM posts WHERE topic = 'Sports')
Run Code Online (Sandbox Code Playgroud)
需要一个适用于所有三个供应商的查询。
我遇到了一个非常棘手的情况,即实现具有与Member.below相同的方法名称的多个接口是该问题的示例代码.
public interface IBase1
{
void show();
}
public interface IBase2
{
void show();
}
public class BaseClass :IBase1, IBase2
{
void IBase1.show()
{
Console.WriteLine("IBase1.show()");
}
void IBase2.show()
{
Console.WriteLine("IBase2.show()");
}
}
Run Code Online (Sandbox Code Playgroud)
主类
class Program
{
static void Main(string[] args)
{
BaseClass obj = new BaseClass();
//How to access IBase1.show() and IBase2.show()
}
}
Run Code Online (Sandbox Code Playgroud)
这里我有两个接口,每个接口都有一个show()方法,一个类实现了这两个接口,现在我的问题是如何BaseClass在Main函数中访问这个方法.