我试图在Sybase ASE 12上使用建议的查询,它抱怨语法错误.
SELECT
item,
( SELECT TOP 1 tags.tag
FROM #tags tags
LEFT JOIN t o
ON tags.tag = o.tag
AND o.item_id = n.item_id
WHERE o.tag IS NULL
ORDER BY tags.tag
) 'tag',
value
FROM
t_new n
Run Code Online (Sandbox Code Playgroud)
错误: Incorrect syntax near the keyword 'top'.
但是,当我用MAX()替换(TOP 1 tag... ORDER BY tag)时,同样的查询有效:
SELECT
item,
( SELECT max(tags.tag)
FROM #tags tags
LEFT JOIN t o
ON tags.tag = o.tag
AND o.item_id = n.item_id
WHERE o.tag IS NULL …Run Code Online (Sandbox Code Playgroud) 我有类似以下数据结构:
Category StartDateTime EndDateTime =============================================== 1 12/1/2009 12:00 12/1/2009 12:12 1 12/1/2009 04:00 12/1/2009 04:20 2 12/2/2009 10:15 12/2/2009 10:22 2 12/2/2009 11:00 12/2/2009 11:01
我想要每个类别的最小StartDateTime和最大EndDateTime.像这样:
Category MinStartDateTime MaxEndDateTime =============================================== 1 12/1/2009 12:00 12/1/2009 04:20 2 12/2/2009 10:15 12/2/2009 11:01
使用按类别分组的最小值和最大值似乎不起作用:
select
Category,
min(StartDateTime) [MinStartDateTime],
max(EndDateTime) [MaxDateTime]
from
MyTable
group by
Category
order by
Category,
StartDateTime,
EndDateTime
Run Code Online (Sandbox Code Playgroud)
我还在每个min和max语句的子查询中尝试了两个内部联接,但它似乎排除了一些记录:
select distinct
T1.Category,
T1.StartDateTime [MinStartDateTime],
T1.EndDateTime [MaxEndDateTime]
from
MyTable T1
inner join
(select
Category,
min(StartDateTime) [MinStartDateTime]
from
MyTable
group by
Category) T2 …Run Code Online (Sandbox Code Playgroud) 如果有任何Sybase ASE专家,我想知道是否有办法让Sybase跟踪它收到的所有查询.
我目前有一个程序运行,通常在启动后7小时后开始显示一些奇怪的行为.我想知道Sybase目前正在做什么,以便我可以解决这个问题.
我正在使用Sybase ASE 15.5.由于一些奇怪的原因,我的监控服务器无法启动.
是否可以显示Sybase Adaptive Server Enterprise 12.5.4中设置的当前隔离配置?
如果是这样,那我怎么显示它?
我使用以下查询来获取用户定义的数据类型(UDDT)列表:
SELECT USER_NAME(S.uid) as owner, S.name as Name, T.name as datatypename,
OBJECT_NAME(S.domain), OBJECT_NAME(S.tdefault)
FROM systypes S,systypes T
WHERE S.type=T.type AND T.usertype<100 AND T.usertype NOT IN(18,24,25,80) AND S.usertype>100
ORDER BY 1, 2
Run Code Online (Sandbox Code Playgroud)
在Sybase 12.5上,它用于返回每个UDDT返回一行.现在使用Sybase 15.x,它返回2行:
owner Name datatypename
'dbo' 'auid' 'varchar'
'dbo' 'auid' 'longsysname'
Run Code Online (Sandbox Code Playgroud)
实际上是UDDT的数据类型varchar.我不确定它的longsysname来源.返回在12.5.x和15.x ASE数据库中都有效的UDDT列表的正确方法是什么?
我正在搜索一个查询,该查询告诉我表示例的主键的名称
:在oracle中,我这样做
从user_constraints中选择CONSTRAINT_NAME,其中table_name ='CT'AND CONSTRAINT_TYPE ='P'
如何在sybase中做到这一点?
我的ColdFusion应用程序有问题.当我尝试登录我的帐户时,它会生成以下错误
JZ0SJ: Metadata accessor information was not found on this database.
Please install the required tables as mentioned in the jConnect documentation.
Run Code Online (Sandbox Code Playgroud)
我正在使用SQL Anywhere 9和jConnect-6_0.任何人都可以帮我这个.
任何人都可以解释以下内容,这对我来说只是一个bug:
select convert(numeric(8,4), convert(float, '12.4155499999999996418864611769'))
12.4156
Run Code Online (Sandbox Code Playgroud)
当然答案应该是12.4155.为了仔细检查,我创建了一个表MyTab,其中包含一个sybase"float"列,并插入了"12.4155499999999996418864611769".然后使用转换转储十六进制并得到0x4028D4C2F837B4A2.这确实是我插入的字符串的IEEE 754双精度表示.然后,如果我(如上所述)将其转换为数字(8,4),则给出12.4156.
我认为这是错误的,还是我生气了?
我无法使用sybase replace函数替换数据。基本上,我需要更新所有出现的内容,'abc'并用'zzz'。]进行更改。
table_clmn 我是使用以下sql的数据类型文本-
update table
set table_clmn = replace(table_clmn , 'abc', 'zzz') WHere id in (1, 2)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
关键字“替换”附近的语法不正确。
我试图从.net核心连接到Sybase数据库,但我找不到任何好的库.有人可以建议库连接到Sybase吗?
sybase-ase ×10
sybase ×4
sql ×3
.net-core ×1
asp.net-core ×1
coldfusion ×1
coldfusion-9 ×1
rdbms ×1
sap ×1
subquery ×1
trace ×1