有没有办法查询SQLServer2005当前与T-SQL一起使用的日期格式
我有一个应用程序,它读取预生成的INSERT语句并对数据库执行它们。为了使要插入的数据独立于区域性,我存储不变区域性中表示的日期时间值(月/日/年…)。数据库服务器可能在不同的语言环境下运行,具体取决于系统语言环境(可能使用天/月/年),因此插入可能会崩溃,因为无法解析日期时间
我知道T-SQL中有“SET LANGUAGE”和“SET DATEFORMAT”语句来设置要使用的语言环境。
我不想让这些更改成为永久性的(它
SQL视图是一个全局逻辑表,可以持久化,也可以不持久化。但它仍然是一张桌子。因此,视图是否应始终遵循第一范式(1NF)?i、 e.没有重复的行,只有标量类型,没有从上到下或从左到右的顺序,等等。那么更高的范式呢
对我来说,我的应用程序“使用”存储过程的结果,我的视图被SQL查询“使用”,这两种用法是相互排斥的(即,我不使用SQL查询存储过程的结果集,我的应用程序不包含SQL代码)。我见过其他人使用视图将一列中的多个值“串联”成一行,通常采用逗号分隔的格式。在SQL查询中针对此类列编写谓词需要类似
SQL Server相当于Oracle的虚拟专用数据库(VPD)是什么?对于行/列级别的安全性以及SQL Server中的细粒度访问控制等其他方面,您可能需要检查此问题。您可以使用视图对象在SQL Server中创建VPD。SQL Server具有用户系统函数,该函数返回数据库用户,与Oracle类似
我之前已经发布过这方面的内容,这有助于提供以下SQL:
SELECT fname, MONTH( eventDate ) , IF( WEEKDAY( eventDate ) <5, 'weekday', 'weekend' ) AS
DAY , COUNT( * )
FROM eventcal AS e
LEFT JOIN users AS u ON e.primary = u.username
GROUP BY fname, MONTH( eventDate ) , IF(
我有一个临时表,我们称之为发票,定义为
create table (id int identity(1, 1), billed money, credited money, balance money)
我有以下数据
Billed Credited
140.00
20.00
60.00
20.00
-20.00
我想用运行平衡更新平衡列。以便正确更新“余额”列。余额基本上是账单-贷记,但必须考虑到前一行的账户
在我的例子中,
我开了一个博客,社区可以发布对时间敏感的社区链接(体育成绩等)。一段时间后,这些帖子不再有用,所以我想通过MySQL查询批量删除它们,但我不知道如何删除。我想完全删除这些帖子不仅仅是从wp_posts表中删除,对吗?每个岗位都有其他工作台,对吗
我尝试过几个自动或批量删除插件,但它们有一半的时间都不起作用
请问,您能否提供一个MySQL查询来从所有相关表中删除帖子及其超过X天的内容
先谢谢你
--尼克Wordpress在其法典中公布了其数据库结构 可能重复的
错在哪里
如果请求硬编码的“test”而不是@edit.text,则成功,但如果使用变量,则请求失败
require 'sqlite3'
Shoes.app do
db = SQLite3::Database.new("test.db")
db.execute("create table t1 ( one VARCHAR(30), two INTEGER )")
db.execute("insert into t1 ( one, two ) values ('test', 55)
当没有从查询中获取数据时,我想显示一条默认消息
比如说
让我们回答一个问题
从id=100的员工中选择empname
如果没有与此搜索匹配的数据,我希望得到不可用的结果,否则应显示所需的结果
那么我应该如何编写SQL查询来实现这一点呢
我正在使用Oracle 10g
SELECT COALESCE((SELECT empname FROM employee WHERE id = 100), 'Unavailable')
FROM DUAL;
您必须将SELECT包装到另一个SELECT中,
我试图创建一个依赖于场景参数值的临时表,并使用以下IF语句,但出现以下错误:
IF @indexName = 'A'
begin select top 400 * into #temp from #pretemp order by EMRev desc end
ELSE IF @indexName = 'B'
begin select top 75 * into #temp from #pretemp order by EMRev desc end
SQL版本工作正常,我可以切换名为bar的布尔值
mysql> update Foo set bar = ! bar WHERE id IN (1, 7, 13);
Query OK, 3 rows affected (0.02 sec)
有没有一个简单的JPA查询等价物,我试过了
final Set<Integer> ids;
final Query query = em.createQuery("UPDATE " + Foo.class.getName()
我正在用SQL编写此查询:
select MAX(AVG(salary) ) from employees group by department_id;
首先,我将按部门id获取组,但接下来会发生什么?最有可能的情况是,根据您的RDBMS,这将需要一个子查询
select max(AveragesByDept.avgSalary)
from (
select avgSalary=avg(salary)
from employees
group by depart
我有这个查询,运行良好,没有问题
SELECT [Q].sHost
, LEFT([Q].sDescription, Len([Q].sDescription) - 1) AS [sDescription]
FROM (
SELECT DISTINCT [Q2].sHost
, (
SELECT CONVERT(NVARCHAR(MAX), [Q1].[sDescription]) + N', ' AS [text()]
在T-SQL中,我有一个视图,其中包括一个连接:
inner join db..address addr
on addr.town = f.town
我需要以某种方式修改这个连接,如果f.town是一个特定的值(比如说“abc”),它还包括另一个值(即“abcd”)。在所有其他情况下,它只取f.town的值。像这样:
inner join db..address addr
on addr.town in ("abc", "abcd")
我尝试过这样做,但没有成功:
inner join db
我的一些同事根据他们对数据库的理解和索引的存在,对Oracle SQL语句中的条件进行排序
否定了序列的重要性,而有一条评论与PROLOG的观点不一致
好的,所以ANSI SQL实际上是声明性的,序列是无关的Oracle 11怎么样?除非您仍在使用旧的基于规则的优化器(而且由于您已将问题标记为oracle11g,所以您肯定不会),否则重新排序WHERE子句几乎没有什么区别
请注意,我使用这个术语实际上是因为——根据——如果有多个操作具有相同的估计成本,它们可能仍然会生成不同的执行计划。但是在实践
为了简单起见,以下是我正在尝试做的一个例子:
我的CLR库是用C#编写的(它是线程安全的,尽管我没有在示例中显示它):
编译后,我将其导入我的SQL Server(使用Microsoft SQL Server Management Studio):
我导入存储过程:
CREATE PROCEDURE sp_Send (@DestinationName nvarchar(256), @MessageString nvarchar(max))
AS EXTERNAL NAME MyDLL.[NS.M
我需要计算这个词出现的次数,如果它确实出现了
我有一张如下所示的桌子:
document | term
a0000001 | n/a
a0000001 | for
a0000001 | nothing
a0000002 | lux
a0000002 | the
a0000002 | censoring
a0000003 | the
a0000003 | the
a0000003 | and
document | the
a000001 | 0
a000002 | 1
a000003 |
我正在使用Microsoft Access 2010,数据库已损坏。数据库与服务器上的后端分离。我将所有前端对象(关系等)导入到新的前端,并重新链接所有表。大多数事情都很好,这就是我以前做的。然而,我有一个问题给我带来了麻烦
我只能运行一次查询。运行查询后,SQL语句将自动从该查询中删除。我使用过compact和repair以及其他各种保存选项,但我只能让SQL语句保持一次。我可以多次打开和关闭数据库,我可以在SQL视图中多次打开和关闭查询,但一旦运行查询,SQL语句就会消失
此查询在发生损坏之
这是我在Oracle SQL Developer中输入的SQL。然而,第一个德普诺以20分出局。为什么呢?我相信这个假设的结果是10。你只需运行它正在运行的序列
第一个参数从开始,然后您可以得到以下输出:
DROP TABLE DEPT;
DROP SEQUENCE deptseq;
CREATE TABLE DEPT
(
DEPTNO NUMBER(2) NOT NULL,
DNAME VARCHAR2(14),
LOC
标签: Sql
cpuprofilertraceduration
关于这篇文章,我读到:
数据列
列号
描述
持续时间
13
事件花费的时间量(以毫秒为单位)。
CPU
18
事件使用的CPU时间量(以毫秒为单位)。
最可能发生的情况是,SQL server将SELECT语句拆分为在多核CPU上的多个线程上运行。根据返回的时间判断,我敢猜测您的服务器中有一个四核CPU
例如:如果CPU1、Cpu2和CPU3都需要750ms,CPU4需要400ms,那么总共需要2650ms,但总持续时间只有750ms 您需要了解操作系统如何工作,为不同的进程提供时间片。这里是一
我想检查当前时间(GETDATE())和StartTime)之间的时差
这就是我到目前为止所做的:
SELECT
CheckedOut, GETDATE() AS CurrentDateTime, StartTime
FROM
TimeRecordModels
WHERE
CheckedOut = 0;
另外,如果差异大于15小时,我想使boolCheckedOut为真,然后将列名EndTime设置为GETDATE()使用该函数
SELECT CheckedOu
我正在使用一组服务器,这些服务器都会记录通常一天发生多次的事件,然后调用存储过程将这些记录复制到中央远程服务器上的匹配表中。该存储过程的关键部分如下所示:
首先,因为这些事件需要几分钟的时间,所以在复制这些事件时,它们有时不会完成,并且中央服务器中的某些记录在某些列中具有空值。存储过程将更新上次发生的记录:
UPDATE r SET r.ToUpdateA = l.ToUpdateA, r.ToUpdateB = l.ToUpdateB
FROM LocalTable l INNER JOIN
标签: Sql
Database
sql-server-2012-expresssql-server-2012-localdb
我将构建一个小型应用程序,并喜欢使用SQLServerLocalDB,但我对一些要点感到困惑
当我启动我的实例并在主PC中共享它并连接到我的数据库时,我的本地网络上的任何人都可以看到这个实例吗
如果是,那么他可以连接到它
如果是,如果我关闭了我的应用程序,实例是否仍在运行,直到他结束工作
如果没有办法解决这个问题
我认为使用LocalDB实例直到face case,让网络中的多个用户将该数据库从LocalDB切换到普通的Express edition,并像平常一样使用它
因此,我可以随时在S
我使用Oracle作为数据库,我有两个表
TableOne-->tableOneId(Primary key)
TableTwo-->tableTwoId(Primary key),tableOneId(Foreign Key),City
现在TableOne中有很多记录,对于TableOne中的每条记录,我尝试使用下面的查询在表2中插入5个城市
insert into tableTwo (tableTwoId,tableOneId,City)
select TableTwo_S
我正在阅读a,我很难理解以下内容:
函数依赖性表示,如果两个元组对于属性A1、A2、…、An具有相同的值,那么这两个元组对于属性B1、B2、…、Bn必须具有相同的值
函数依赖关系由箭头符号表示(→) 也就是说,X→Y、 其中X函数决定Y
以上两个是指什么?什么是“功能决定”
我可以有一个元组,其中A1、A2、A3相同,但B1、B2、B3不同。当关系中的一个属性唯一地确定另一个属性时,就会出现函数依赖关系。这可以写成a->B,这与声明“B在功能上依赖于a”相同
在列出员工特征(包括社会保险号(SS
我正在尝试执行下面的查询,但是它运行的时间太长(超过20分钟),没有给出任何结果。当我删除XMLEXISTS条件时,它在几秒钟内获取了41000条记录。XMLEXISTS可能存在什么问题?我们如何改进执行时间
SELECT e.Entry_GUID
FROM alertdocketnext.ENTRY e inner join
alertdocketnext.ENTRY_PARTNERDEFINED_INFO ep
on e.ENTRY_GUID = ep.ENTRY_
使用下表:
StoreId INT主键,
客户ID INT,
StoreName VARCHAR
我需要一个select语句,它将告诉我是否有任何CustomerId具有重复的StoreName条目
例如,给定此数据:
StoreId | CustomerId | StoreName
1 | 25 | "Store 6"
2 | 42 | "Downtown"
3 | 101 | "Store 22"
4
我有一个用户模型,与概要文件模型连接,创建一个连接表来保存属于每个模型的所有信息。我希望能够将字符串附加到列值的末尾,但仅当该字段存在时。这是我目前拥有的
User.joins(:profile).select('users.id,
full_name AS name,
concat(profiles.address1, profiles.address2) AS address,
假设数据结构的类型为
stock_name, action, start_date, end_date
google, growing, 1, 2
google, growing, 2, 3
google, falling, 3, 4
google, growing, 4, 5
yahoo, growing, 1, 2
如何将其聚合以合并连续的时间间隔
输出如下所示:
stock_name, action, start_date, end_date
google, growing, 1, 3
使用SQL2008R2
我在完成表联接时遇到问题。我想我只是错过了一些简单的事情。我需要连接三个表(CMS、DB、Backups),并获得所有重叠项以及缺失项的完整列表。不幸的是,其中两个表没有简单的条件进行连接
条件:
1:每个表都可以有一行与其他表不匹配
2:备份连接到服务器名称和备份。保存集类似于DB.Instance\u名称或备份。保存集类似于“ALL”
3:CMS连接到服务器名称上,也连接到CMS。名称类似于DB.Name
正如你从我下面的查询结果中所看到的,我很接近,但不是很接近。我
请帮助我优化嵌套视图。下面的查询中使用了两个视图,它们的性能非常慢
SELECT g.FID, a.ID,q.FID_ATTR AS UNITID
from dbo.LINE AS g LEFT OUTER JOIN dbo.SECTION AS a ON g.FID_ATTR = a.FID
LEFT OUTER JOIN dbo.V_UNITID as q on g.FID = q.FID
CREATE view [dbo].[V_UNITID] as
select
a.FID,
在oracle sql语句中,我发出了三个update命令,然后是ALTER命令以添加列。提交查询前系统崩溃。update和alter语句是否会写入数据库?我的假设是只有alter语句会被写出来
Oracle数据库在每个DDL语句之前和之后隐式提交当前事务
如果在崩溃之前成功执行了ALTER语句,则会提交以前未提交的DMLs
欢迎来到SO。请拿着这本书,读一读,然后贴一张。这样你会得到更好的回应。谢谢。你试过什么了?假设这两列包含VARCHAR2数据或类似数据,那么应该像中的substr(diagcode,3)=substr(prospective,3)一样简单。mathguy是对的。如果您坚持它是一个like,那么diagcodelike substr(推定,3)| |'%'也应该起作用。如果字符串短于3个字符,请小心。在未来,你将被期望写出更好的问题。谢谢大家。我完全忘记了substr函数。
表名称:表1
Name DataType
PK_tablekey INT
FK_Table2Keu INT
CreateTime datetime
DateField1 datetime
DateField2 datetime
Createdby NVARCHAR(32)
Name1 NVARCHAR(32)
Flag BIT
Value1
我有以下型号:
class Master < ActiveRecord::Base
belongs_to :language
has_and_belongs_to_many :users
scope :with_users_count, -> do
joins('LEFT OUTER JOIN masters_users on masters_users.master_id = masters.id')
.select('masters.*, COU
以下是用于输出用户权限的查询
SELECT DISTINCT
[APP_Computer_User_Id],
[APP_Role_Name],
[APP_Permission_Name]
FROM [ADMINS].[APP_USER] U
INNER JOIN [ADMINS].[APP_USER_ROLE] UR ON U.[APP_User_Id]=UR.[APP_User_Id]
INNER JOIN [ADMINS].[APP_ROLE] URO ON
我们有一个如下的问题
SELECT p.propertyNumber as propertyNumber,
( SELECT COUNT(*)
FROM #TEM
WHERE pNumber = p.propertyNumber
AND dsenderType = 0
AND dType = 1
AND reTime >= '2017-03-01 00:00'
我试图比较3个表,其中1个表是基础表
这是我的3个表,其中表1是基础表,其他两个是相互比较的
Table1
ID | ChargeItem
-----------------
5055 | Item1
5056 | Item2
5057 | Item3
5058 | Item4
5059 | Item5
5060 | Item6
5061 | Item7
5062 | Item8
5063 | Item9
5064 | Item10
5065 | Item11
Table2
我正在努力学习SQLZoo,并且已经相当陷入了“名称和资本匹配”的练习中。我们的想法是从“世界”数据库中列出首字母与其(国家)名称和首都相同的国家,但不包括首都与国家相同的国家。
我必须:
SELECT name, capital
FROM world
WHERE LEFT(name,1)=LEFT(capital,1), name <> capital
选择名称、大写字母
来自世界
其中LEFT(name,1)=LEFT(大写,1),name capital
这甚至对应于答案页
标签: Sql
subquerysql-order-by
我是一名入门级人员,试图学习更多关于SQL的知识
我有一个问题“我们可以在子查询中使用ORDERBY吗?”我确实查找了一些文章,上面说不,我们不能使用
但另一方面,我看到了在子查询中使用top(n)和orderby的示例:
select c.CustomerId,
c.OrderId
from CustomerOrder c
inner join (
select top 2
with TIES CustomerId,
COUNT(distinct Ord
我无法摆脱“IF”附近的“错误语法”
使用begin和end对CASE和IF Else语句进行了多次尝试
第二行的第一个IF出现错误:“IF”附近的语法不正确
我错过了什么
谢谢你,约翰
select long查询的片段
CASE when (pt.PRE_POST_MODE = NULL) then
/*Error ->*/IF (CONVERT(DATETIME, CONVERT(DATE, extra.END_DATE)) != null)
begin
我有价格历史记录表:
| StrartDat | ProductID | Price | EndDate|
产品目录:
| ProductID | Name | quantity|...|
和订单表:
| OrderID |ProductID | date|...|
现在我试图获取订单列表,但我得到了一个产品的两行,其中一行是旧价格,另一行是新价格(其中enddate为空)
我怎样才能避免这种情况,并获得订单的价格,一个产品在订单日期
我尝试了这种约束,但它不接受与enddate为空的价格
我有一个数据库,其中包含一个引擎表(EngineId、Make、Model、SerialNumber等)和一个包含引擎测试值的表(TestId、EngineId、Value1、Value2等)
我想从Engines表中选择所有记录以及最新的测试值(可能有多个测试记录,但我只想要最新的)。这看起来很简单,但由于某种原因,我不能完全理解SQL语法
我可以从下面这样的事情开始,但是我被卡住了
SELECT e.*, t.Value1, t.Value2
FROM Engine e
left join
在SQLServerManagementStudio中,有一个“生成和发布脚本向导”上下文菜单选项,可自动为表数据生成insert语句脚本
在我的例子中,我只能使用命令行访问数据库上的查询。这意味着我无法访问“生成和发布脚本向导”
是否可以使用纯SQL或T-SQL命令行实现类似的功能?这是一个基于系统视图的基本SQL构建插件:
DECLARE @sqlinsert AS VARCHAR(MAX) = ''
DECLARE @tbl AS VARCHAR(128)='dbo.mytable'
S
我有一个简单的表,上面有每小时的数据和值。我想计算每个月每日最大值的平均值。
一开始,这个问题似乎很直截了当:
WITH daily_max AS
(
SELECT TRUNC(the_date, 'DD') as my_day, MAX(value) AS value
FROM my_data
GROUP by TRUNC(the_date, 'DD')
)
SELECT trunc(my_day, 'MM'), AVG(value)
FROM daily_max
GR
以下是我的样本:
如何列出属于建筑X的项目,其中类别为Y?
我不确定要找什么(是连接吗?内部还是外部?)。我想我通过谷歌找到答案的困难是因为我不知道如何恰当地表达这个问题。请提供帮助。关于的存在如何
select i.*
from items i
where exists (select 1
from building b
where b.id = i.building_id and b.name = 'X'
)
这可能是一个简单的问题,但我找不到答案。几个月前,我请求帮助进行一个确定所有更新表的查询。我能够让它工作,但速度很慢,而且只写入DBMS输出窗口。我的项目最终走向了另一个方向。现在我有了一个EXCEL VBA工作簿,它可以提取所有表,并查询每个表中与给定项目相关的更新。这是一样缓慢,但给我更多的工作。当它在表列表中运行时,它会查询更新计数大于零的表
我真正想要的是以某种方式在更短的时间内获得具有更新计数的表列表。例如,下面这样的查询将为我提供当前使用慢速VBA脚本构建的两列
Select dis
我有一个名为TableName的表,其中有一列字符
在字符列中,我有以下数据以及其他一些需要检查的数据:
Apples
15
chocolate
afternoon
Joe & taffy
@fternoon
^up
(here)
`til
我想要一个SQL脚本,它允许我在该列中查找对XML或SQL无效的任何字符。有点像一个patindex
所以我想用这个来展示这样的东西:
乔和塔菲,第5行,第4个字符
@下午,第6行,第1个字符
D'antonio,第452行,第2个字符
Ch@rl
我已经声明了一些自定义oracle类型:
create type S_TYPE as table of VARCHAR2(4000);
CREATE TYPE "OBJ_ORDER_ADD" AS object (
ADD_TYPE NUMBER,
ADDITION s_type
-- other fields not represented here for brevity
);
create type ARRAY_ORDER_ADD as table of OBJ_ORDER
我使用的是SQL Server版本12.2.9(我想是SQL Server 2014)
在SQL查询中,是否可以将要从中选择数据的一个或多个表名作为将在查询执行期间进行计算的表达式?例如,在以下伪代码中
SELECT *
FROM MainTable AS mainTable,
(
/* Expression here that returns
a string (or what type do we return)
denoting the other tabl
输入
表
ID YEAR
101 2012
101 2013
101 2014
102 2012
102 2013
102 2014
塔贝莱布
ID YEAR AMOUNT
101 2011 2384
101 2012 2987
101 2013 3232
101 2014 3987
102 2011 2212
102 2012 2332
102 2013 2987
102 2014 3222
输出表
ID YEAR