我正在创建一个类似这样的表
CREATE TABLE packages
(
productCode char(2)
, name nvarchar(100)
, ...
)
如何确保productCode始终是两个值中的一个XJ或XD?将其作为查找表的一个值,或添加一个值来强制执行它。在这种情况下,productCode的值集似乎非常有限,并且您不希望它在可预见的未来增长,所以我倾向于同意你的答案。然而,在大多数情况下,我会按照格兰特先生的建议实施外键解决方案,因为我的客户有一个
vb6中的重新查询是什么?怎么用那个?有人能帮忙吗?这里介绍了ADO重新查询方法,可能有帮助:
从链接页面:
Requery方法通过重新执行
生成原始记录集的查询
提示:使用此方法刷新记录集的全部内容
注意:使用此方法可以在一个函数中调用Close和Open方法
嗯?做什么需要什么?我在vb6中有一个记录集。我想把它插入datbase表。我不熟悉vb6和sql。我不知道怎么做?
我发现自己正在编写SQL代码(查询或存储过程)来解决一些问题,这些问题可以定义为业务中经常出现的“模式”
每次遇到新问题(其他程序员/数据库分析师肯定已经无数次解决了这个问题),我不必绞尽脑汁,而是想知道是否有一个我可以去查看的存储库(同行评审)代码-也许偶尔会加上我的两便士。我知道不同的数据库供应商倾向于编写稍微不同的SQL格式-但仍然可能有一个包含ANSI内容和专有内容的存储库。希望这样的网站能鼓励更多人编写标准化SQL
有这样一个网站吗?如果没有-为什么没有?(其他人会对这样一个网站感兴趣
在MS SQL Server 2005上,没有master.dbo.fn_varbintohexstr函数,有没有办法将varbinary转换为ASCII varchar字符串(base64、md5、sha1-无所谓)?因为它不能在计算列内部使用
转换和强制转换返回非ASCII字符串
谢谢,
丹尼斯。对于md5和sha1,您可以使用。要获取base64,可以创建一个进行转换的udf,并在计算列中使用它
功能BinToBase64:
create function BinToBase64(@Bin
我在教程中看到有人没有设置长度,但它专门用于计算用户总数,只是设置为自动递增。我一直习惯于指定一个长度,因为我认为这是强制性的,但我想问一下,如果不指定一个日期或pin码等,我是否可以将其留空,因为在这些地方,长度总是设置的。(如果我不确定的话,我通常会将其设置为11位或更多)当保留为空时,每个整数字段默认为11,这样您就可以保留它。不,您不必为整数指定长度。我从来没有这样做过
有不同大小的不同整型数据类型,因此您可以根据需要选择容量不同的整型数据。整数没有小数。
如何复制表中的整行并更改一个值
insert into user (
user_id,account_id,user_type_cd,name,e_mail_addr,
login_failure_cnt,admin_user,primary_user
)
select * from pnet_user where account_id='1'
但是现在我想把插入的条目的1改为2。
但是现在我想把插入的条目的1改为3。
但是现在我想把1改成。。。。在插入的条目上。
但
我正在使用SquirrelSQL客户机3.5.0。我正在将结果导出到sql文件中的会话/脚本/存储
我需要知道值何时为null,因为结果中返回null。如果您知道如何将其导出为“null”,请提供帮助。目前,它只是导出2个逗号,就好像字段是空的一样。我必须有一个出发点,找不到它。用这样的方法:
SELECT ISNULL(thidfield,"NULL") from <sometable> WHERE <somestuff>
从其中选择ISNULL(thidfield,
我想合并来自两个表的数据:-
表T1(id、c2、c3、开关)
表T2(id、d2、d3)
现在如果T1中的开关为“Y”
我希望输出为
joe darling sydney australia // which is fine..
如果开关为“N”
我仍然需要基于开关的名字和姓氏,开关是“Y”,以及T2表中的其余值
joe darling sydney australia //how to achieve this.
假设每个ID只有一个Y开关,然后尝试以下操作:
SELECT
我已经在RedHat6 linux实例上安装了Oracle 11g,通过执行“”中提到的所有步骤,我正在尝试使用sql developer从远程计算机连接到数据库。但总是以-“IO错误:网络适配器无法建立连接””
我使用的参数是
Username: sys as sysdba
Password: <oracle password>
Hostname: IP address of the server on which Oracle SQL is installed.
Port:
我有一个奇怪的问题,两个我认为应该做同样事情的代码位。有人能解释一下为什么这段代码需要很长时间才能执行:
IEnumerable<Account> acc_list = null;
acc_list = dbContext.Accounts;
acc_list = acc_list.Where(a => !a.Transactions.Any(t => t.isClosureTransaction));
int count = acc_list.Count();
IEn
是否可以交换多个字符串位置值
这里要清楚地解释一下:
是否可以将103414823111更改为类似的823111103414
要详细说明:
我想把103414放在823111后面,而不是放在前面
某些数据的切割现在完成了,我的问题是把它移到前面
这是我的代码
[Time] = SUBSTRING('351856040667941,RA1;0500A1437.8305N12057.1792E000.0087.600.800051034148231114CEA2420018A140000000',
我有一个select语句,它显示pl/sql脚本的文本(内容):
select text
from DBA_source
where type like '%PROCEDURE%' and name like '%JOB_HISTORY%'
order by line;
我希望将其转换为存储过程,以便select语句的“name”条件应作为输入,而不应预定义为类似于显示“%job\u history%”的状态
如何做到这一点 这是一个函数,而不是存储过程:
create type proc_t
标签: Sql
database-normalization
我正在上数据库设计课。课程主要侧重于游牧化。这些步骤和方法不言而喻,但我觉得直觉方面令人沮丧。是否有一种数学方法来处理数据规范化,在这种方法中可以分配属性并处理数学上确定的结论?在关于地址的讨论中,我将给出另一个真实世界的例子
您是架构师,负责使用包含地址信息的旧数据库重新设计旧应用程序。
DB当前有1个字段用于所有地址信息
我们的地址如下所示:
Address
___________________________________
Bob Robertson 123 Broad Way Spr
我尝试使用以下格式打印每个人的年龄:
例如:19年8个月13天
我在谷歌上搜索了很多,我注意到有一个特定的函数来计算日期之间的差异DATEDIFF
但是,这个函数在SQL*Plus中不存在,所以我继续尝试使用MONTHS\u-BETWEEN()和一些操作符
我的尝试:
SELECT name , ' ' ||
FLOOR(MONTHS_BETWEEN(to_date(SYSDATE),to_date(date_of_birth))/12)||' years ' ||
FLO
好的,这个问题与VB6和SQLServer2008有关。
目前,我的一个表单上有一个flexgrid,它由一个简单的存储过程填充
Create Proc [dbo].[sp_LoadGrid]
As Begin
Select FirstName, LastName, SEX, DOB, School
from dbo.tblClients
在flex网格上方,我有两个文本框,允许用户按名字或姓氏进行搜索。我编写了一个if语句,只需获取txt框中写入的任何字母,然后搜索网格(使用“%”)。现在我
我想选择一个值并将其检索到多行中。我试图搜索有关此案例的内容,但没有找到将其唯一化的写入方式,并且
最后为我的英语感到抱歉请尝试从表t中选择您的_值,t.*请显示一些示例数据以及您希望如何显示输出。另外,最好显示您为这个问题编写查询的尝试。实际上,您不需要t.*,因为编写从t中选择您的\u值就足以显示表中任意多行的您的\u值。
我的表架构(表名为record)
看起来像
ID Name
1 Mahesh
2 Mahendra
3 Kirti
4 Jatin
我想显示以下记录
Name Name
Mahesh Mahendra
Kirti Jatin
在SQL Server中是否可以按上述方式返回数据?在SQL Server中是否可以按上述方式返回数据?
是的,可以做到
您必须定义一个规则,用于确定哪些名称将显示在第一列上,哪些名称将显示在第二列上
with re
如何计算以下示例数据的匹配行数
ID Attribute 1 Attribute 2
1 A AA
2 B CC
3 C BB
4 A AA
5 C BB
6 D AA
7 B AA
8 C DD
9 A AB
10 A AA
输
所以…如果我的BufferPoolCommitMemoryGB变量大于14.99,我将尝试运行clear cache语句。我的语法正确吗?提前谢谢
SET NOCOUNT ON
CREATE TABLE #TempTable (
PhysicalMemoryGB Decimal (20, 2),
BufferPoolCommittedMemoryGB Decimal (20, 2),
BufferPoolTargetMemoryGB Decimal (20, 2),
MinServerMem
我有117个分页链接=3个
http://www.shophive.com/apple?cat=22& p=2
和3个分页链接=3个类似
http://www.shophive.com/apple?cat=19&p=3
我只想通过C#sql中的数据表选择p=2的链接,
“包含”和“不在查询中”不起作用您可以使用此查询获得特定的结果,我想它将帮助您解决问题
select * from tablename WHERE columnName LIKE '%&p=3%'
请
2)if条件不起作用。结果:“Else语句”对monthcombobox起作用;“然后声明无效。换句话说,只有“按月”组合框有效。“按月期间”没有输出。
Dim month As Integer
Dim fromm As Integer
Dim too As Integer
If IsNumeric(monthComboBox.Value) Then
month = monthComboBox.Value
Else
month = 0
End If
''''
If IsN
我试图根据我的要求检索一些记录。根据当前表,商店可以有任意数量的经理和/或收银员及其各自的电子邮件地址。现在,我正在尝试检索一组新的记录,其中每个分行只有一名经理和/或一名出纳,并带有各自的电子邮件地址(没有选择特定经理出纳的标准)
当前表格:
BranchName Role Email
-------------------------------------------------
CA Cashier Cashier1@gmail.
忍者
这有点难
我有一个基于SQL Server 2012的应用程序审计数据库。里面有一个包含NTEXT列的表,该列包含sql查询的原始文本。这些查询是机器生成的,不便于“人”阅读(列长达20000个字符,有很多别名等)
我正在寻找一种工具,它允许我分析sql查询文本,并列出查询中使用的所有列和表。
到目前为止,我们一直试图自己找出算法。但也许有一个现成的工具可以自动完成
提前谢谢你的帮助
卡斯帕创建一个新的C项目。NuGet package id=“Microsoft.SqlServer.Tr
我有一张这样的表格,代表一位会员在一个月内购买了一种产品。这个月是从201501年到201612年。
我想得到一个包含两列的新表:一列是从201501到201612的月份,另一列是作为成员滚动的计数(不同的成员\u srl),它来自该月份前12个月的记录。
例如,新表的一条记录是“201605 123456”,数字123456是月>='201505'和月
结果总是给出1,00和0,00,而不是精确的数字四舍五入到小数点后两位。如果我把100*放在目标前面,那么我会得到一个有用的结果,即百分比,但我不希望它是百分比
为了得到有用的结果,我可以做些什么
我已经使用了搜索功能,但到目前为止没有任何效果。看起来不错,但我要么不知道如何正确使用它,要么它不起作用。这有用吗:
SELECT goals, games, ROUND(goals/games, 2) AS "goalspergame"
FROM bgoals
ORDER BY goals DESC
我们的主系统将日期存储在三个独立的部分中。我想将它们结合起来,以便在Excel中使用它们。我可以很容易地将它们组合到Excel中,但首先我希望导入的数据正确无误。主系统中的数据存储为17年、2月和22日。在select语句中,我希望它作为一个名为Date1的新字段出现,在这里它看起来是这样的:2017年2月22日,我不确定数据是存储为文本还是数字,但我认为它可能是文本
但是请注意,有些数据库内置了日期格式函数来解决这一问题……答案取决于数据库引擎,您没有指定该引擎。
SELECT month
当我在查询中使用group来获取几个列的总和时,它开始占用太多的时间
示例:-
SELECT
A.ID PROJECT_ID,
REGION.LEVEL2_NAME REGION,
A.LOCATION LOCATION,
A.DEPT DEPT,
REPLACE(A.ROLE_NAME, ',', '') ROLE_NAME,
A.MONTH_START,
TO_CHAR(A.MONTH_START,'MON YYYY') MONTH
如何在特定服务器实例上自动查找和终止特定数据库上的长期阻塞(假设1小时)查询,并报告结果以查看终止的阻塞查询 您可以使用查看所有服务器事务
SELECT * FROM sys.dm_exec_requests
这个只显示查询和处理时间
如果要终止阻塞进程:
KILL [session_id]
很好,但这确实是很多人使用数据库监控工具的东西,因为我正在寻找创建sql作业,找到阻止并杀死它,然后发送一封包含报告的电子邮件。我仍然认为这是您需要的。查询为您提供了运行时间,您可以编写一个程序来运行查
我有三张桌子,T1,T2,T3
T1有A、B、C列
T2有C、D、E列
T3有E、F、G列
其思想是将所有列进行内部联接,以获得带有列A、B、C、D、E、F、G的表T
我现在已经知道如何连接三个表了,问题是应该连接T2和T3的列E非常嘈杂,它应该是一个数值,但它有各种各样的值(文本、标点符号等)
如何使用if语句进行内部联接
以下是E列的示例:
在表T2中:10000001、$4542、$1892348、2347239(噪音为$4542和“.”)
在表T3中:100000018923482
我如何做到这一点:
在表A中,我有3列整数值:A、b、c
在表B中,我有3列整数值:x,y,z
我想选择(a,b,c)的最大值,并将x,y,z中相应的值进行内部连接
例如:
a = 1, b = 2, c = 3
x = 7, y = 8, z = 9
结果:
有两列的表
firstColumn | secondColumn
c | 9
说明:c是a、b、c的最大值,我们取的是名称,而不是值
第二个表中的值是我们需要的吗
提前谢谢
ps我正在使用sql ser
具有跨列具有多个重复项的数据集
ID DATE CLIENT TEST0 TEST1 TEST2
================================================
1 04/12/17 123 CBC LIPID (null)
2 04/12/17 345 LIPID (null) (null)
3 04/13/17 123 BMP CB
博士后数据库
如果我使用query运行下面的函数,请选择sms.somefunc(),获取错误SQL状态:P0001
我调用了这个函数中的另一个函数
有人能帮我解决这个问题吗?我不知道为什么会发生这种错误
提前谢谢
--DROP FUNCTION SMS.somefunc();
CREATE FUNCTION SMS.somefunc() RETURNS void AS $BODY$
DECLARE
wk_rows INT :=0;
work_plan_id_val INT
我有两张桌子
DummyTable
Column1 | Column2 | Column3
a | b | c
Column1 | Column2 | Column3
a | b | c
GoodTable
Column1 | Column2 | Column3
a | b | c
Column1 | Column2 | Column3
a | b | c
我是T-SQL新手,需要帮助完成以下
是否可以使用patIndex查找字符位置,而只知道存储在varchar中的模式的开始和结束
我已尝试使用此选项,但每次都返回“0”
select @emptyTag= patindex('<span%></span',@pmReportText)
select@emptyTag=patindex(“一种方法是获取一个字符串拆分例程,然后拆分字符串上的所有文本”>请将示例数据作为文本而不是图像发布..我将示例作为文本添加到图像下方为什么不仅此select charindex(“
我目前有以下标准SQL表达式:
TIMESTAMP_SECONDS(NET.IPV4_TO_INT64(substr(FROM_BASE64(replace(replace('user_id',"-","+"),"_","/")),0,4)))
但我需要用遗留SQL编写它
我已经走了这么远:
LEFT(FROM_BASE64(REPLACE(Replace('V95182FFZAAnIlNQ',"-","+"),"_","/")),4)
但是无法将字节转换为时间戳。这绝对不是标准的SQL为什
我不熟悉使用数据库,正在尝试设计一个新的数据库,我认为我需要跨多个表的一对一关系
为了演示我的设计,假设我正在构建一个时间表数据库作为示例。我首先为具有一对多关系的人创建一个表
CREATE TABLE person (
person_id SERIAL NOT NULL,
name VARCHAR,
PRIMARY KEY (person_id)
);
CREATE TABLE events (
event_id SERIAL NOT NULL,
这是另一个问题的延伸:
我有一套如下的桌子:
c_id c_name c_tax
1001 Element1 1
1001 Element1 2
1001 Element2 1
1001 Element2 2
1002 Element3 null
1002 Element4 1
1002 Element4 2
c_id c_name c_tax
1001 Element1 Yes
我正在尝试按工作日对我的表进行分组,以便查看每种付款类型的计数以及按工作日划分的其他销售信息。但是,由于我使用的是子查询,所以我只得到一个重复值列表,因为子查询只能返回一个值。有没有一种简单的方法可以在工作日将其分组?我想我在其他地方读到,我可能必须为每个子查询执行一系列连接,但是因为有8个连接,所以我宁愿不这样做。我目前的代码如下:
select datename(weekday, transaction_date) as [Day],
(select count(tender_type) f
我正在使用oraclesqldatamodeler创建一个逻辑模型。当逻辑模型被设计为关系模型时,它会自动在关系模型中创建一个新属性[ENTITY\u NAME]\u ID
该实体已具有通过域管理保证唯一的主键。我试过上网搜索,玩弄主键等等。这是一个强大的实体
我刚刚创建了一个实体,PEOPLE,具有SSN、NAME和DOB属性。SSN i标记为主UID。然后我设计了关系设计。SSN被设置为主键,并且没有生成人物ID列-因此我无法根据2屏快照重现您的场景。如果您将图片嵌入帖子本身,那么我们不必
我有一个医院数据库,其中包含以下表格:
设备
id字符(40)不为空,
模型字符(20)不为空,
serialno VARCHAR(20)不为空,
发布日期,
主键(id)
及
和其他一些桌子
表appointmetrelations描述了医院的预约情况,并将预约与使用的设备和药物联系起来
我想写一个查询,找出与他的年龄相关的使用最多的设备
appointmentrelations
a1 m1 e1
a2 m2 e2
a3 m3 e3
a4 m3
我今天有一个场景,我有点累了。在我的源Oracle源表中有如下数据(示例数据)
现在,第二行中的工资为负值,第三行中的生日格式无效(有效格式为MM/dd/yyyy)。第二行和第三行都应转到无效的\u员工,第一条记录应转到有效的\u员工。在源文件中,日期格式为dd/mm/yyyy。我必须将其转换为MM/dd/yyyy格式,还必须检查源文件中传入的日期格式是否为dd/MM/yyyy。薪资不应低于0。源表中的所有列均为字符串,目标表中的ID为整数,名称为VARCHAR2(255),薪水为数字,生日为日
我正在尝试使用以下连接查询进行搜索
SELECT comm_date,
bus_prof,
phone,
state,
display_name
FROM spt_identity
WHERE display_name IN ( SELECT regexp_substr(name,'[^:]+$') AS display_name
FROM spt_task_result
我有一个数据库:
|id|surname|name
| 1|Smith |John
| 2|Smith |Mike
| 3|Smith |Bob
| 4|Knope |John
| 5|Knope |Mike
| 6|Knope |Dick
| 7|Pratt |John
| 8|Pratt |Jill
| 9|Pratt |James
我想找到一个有约翰、迈克和鲍勃的姓。我想把它还给史密斯。或者我想寻找一个有约翰和迈克的家庭,我想把史密斯和诺普还给他们。我该怎么做
我想要得
我需要写一个查询,返回所有记录,其中以小时和分钟表示的日期大于5:30。示例:我们有日期:2018-10-18 03:00和2018-10-18 05:40。我只需要返回第二个。我现在做的是(在“选择”部分):
问题是我需要同时满足这两个条件。我也使用了括号,但仍然不正确。基本上,它工作不好,问题出在哪里?直接使用时间如何
where cast(Table1.CreateDate as time) >= '05:30:00'
就我个人而言,如果可以,(而且你需要经常根据时间进行查询),我
表:劳动生产率:它有两个克隆
LABORCODE CRAFT
--------- ---------
SP51894 Replace
SP51894 Repair
SP51894 Connect
SP51894 MET1
表:人员:5列
PERSONID LOCATION STATUS FIRSTNAME LASTNAME
-------- -------- ------ --------- ---------
SP51894 Delhi ACTIVE Smita
我想添加它-如果存在更新或插入
所以,插入是有效的,但我只想插入新值,若这个东西已经在这里,我想更新它。我这里的代码只插入数据,不知道什么
BEGIN
DECLARE das int;
SELECT dasaxeleba.id INTO das FROM dasaxeleba WHERE dasaxeleba.barcode = NEW.barcode;
INSERT INTO sawyobi(das_id,raodenoba,tvitgirebuleba,gasayidi1,gasayidi2
我正在编写一个向SQLite数据库添加一行的函数
func ManageDB(db *sqlx.DB, query string, args ...interface{}) (int64, error) {
stmt, err := db.Prepare(query)
if err != nil {
return -1, err
}
defer stmt.Close()
tx, err := db.Begin()
if err != n
我有一个简单的对象,它包含其他对象,建模方式类似于SQL server中两个表的普通1-many关系
集装箱台
Id Name
1 MyContainer
项目表
Id ContainerId Data
1 1 'A'
2 1 'B'
我希望此容器对象始终以原子方式更新。现在假设有两个操作将同时启动:
将项目3添加到数据为“C”的容器中
更新两个现有项,使数据变为“AA”、“BB”
我不希望出现两个操作“混合”的情况(因此将有
假设我有一张这样的桌子
userId eventType timing
647 'jump' 32.7
123 'skip' 13.1
647 'skip' 24.4
433 'jump' 12.7
433 'skip' 53.6
647 'jump' 2.4
647 'jump' 64.4
123 'skip' 14.0
433
这听起来可能很傻,也不会影响我的代码,但出于好奇,是什么原因导致自动递增的“ID”像那样反转,并且不能正确递增
结构:
我认为ID不是主键。如果可以将ID作为主键,则行的顺序应该正确。自动递增的ID可以。问题是查询,它大概类似于:
select *
from users;
此查询没有排序依据。因此,结果可以以任何顺序返回。并且顺序可以从一行更改到下一行
要按特定顺序查看结果,您始终需要在查询中包括orderby。此查询可能由工具生成,因此您无法控制它
实际上,我希望一个小表上的结果按照聚集索