有人可以帮助我使用SQL Server CAST
到text
数据类型吗?我正在尝试使用CAST函数来显示长文本,但如果我从多个表中检索,它将无法工作。也许我错误地创建了这个陈述。
$from = 'RealEstate AS RE, Models AS M, Catalogue AS C';
$select = 'CAST(RE.Details AS TEXT) AS RE.Details, RE.Postcode, RE.Suburb,
M.ModelName, M.ModelID, RE.HouseID, RE.ContactName, RE.ContactPhone, RE.PlanName,
RE.Address, RE.Street, RE.Price, RE.StreetNo, RE.CatID, RE.Fixed';
$query = mssql_query("SELECT DISTINCT $select
FROM RealEstate AS RE, Models AS M
WHERE RE.HouseID=$hid
AND RE.ModelID=M.ModelID");
答案 0 :(得分:1)
我的理解是你不能在mssql_query块中连接字符串 - 根据你提供的内容我真的不需要它。如果要连接动态SQL语句,请在将语句发送到mssql_query
函数之前执行此操作:
$select = 'SELECT DISTINCT CAST(re.details AS TEXT) as details,
re.postcode,
re.suburb,
m.modelname,
m.modelid,
re.houseid,
re.contactname,
re.contactphone,
re.planname,
re.address,
re.street,
re.price,
re.streetno,
re.catid,
re.fixed
FROM REALESTATE re
JOIN MODELS m ON m.modelid = re.modelid
WHERE re.houseid = $hid"
$query = mssql_query($select);
答案 1 :(得分:0)
我很确定别名不能包含句点(罪犯:RE.Details
)。尝试调用Details
代替(或者将别名括在引号中(mysql的反引号),如果你想保留句号,但我猜你没有。)
答案 2 :(得分:0)
$queryDetails = mssql_query("SELECT CAST(Details AS TEXT) AS Details FROM RealEstate WHERE HouseID=$hid");
我从中做了另一个询问。它可能是一个多余的电话。在使用msSQL之后,我对mySQL更熟悉,我意识到操作它非常麻烦。特别是当LIMIT功能不适用于分页时。