有条件地编辑 SQL 查询中的输出
Conditionally editing the output in a SQL query
我正在尝试从 table 中的列中提取数据,我调用了 Vendors,列名称是 VendorContactLName。我还有一列 VendorContactFName。我正在尝试这样做,以便在提取数据时有条件地更改字符串的输出。
例如,我想在名称末尾添加一个撇号 s <'s>,我可以这样做:
SELECT VendorContactFName + ' ' + VendorContactLName + '''s' AS 'Vendor Full Name' FROM Vendors;
但是,我想这样做,如果碰巧 VendorContactLName 中的姓氏已经以 "s" 结尾,我只将撇号连接到它,而不是撇号和 's'.
所以,我想:卡尔·艾伦、迈克尔·邓拉普和米歇尔·希金斯以卡尔·艾伦、迈克尔·邓拉普和米歇尔·希金斯的身份出现。
感谢您的帮助。
检查这个:
SELECT VendorContactFName + ' ' +
(case right(VendorContactLName,1)
when 's' then VendorContactLName + ''''
else VendorContactLName + '''s'
end) as 'Vendor Full Name'
FROM Vendors
我正在尝试从 table 中的列中提取数据,我调用了 Vendors,列名称是 VendorContactLName。我还有一列 VendorContactFName。我正在尝试这样做,以便在提取数据时有条件地更改字符串的输出。
例如,我想在名称末尾添加一个撇号 s <'s>,我可以这样做:
SELECT VendorContactFName + ' ' + VendorContactLName + '''s' AS 'Vendor Full Name' FROM Vendors;
但是,我想这样做,如果碰巧 VendorContactLName 中的姓氏已经以 "s" 结尾,我只将撇号连接到它,而不是撇号和 's'.
所以,我想:卡尔·艾伦、迈克尔·邓拉普和米歇尔·希金斯以卡尔·艾伦、迈克尔·邓拉普和米歇尔·希金斯的身份出现。
感谢您的帮助。
检查这个:
SELECT VendorContactFName + ' ' +
(case right(VendorContactLName,1)
when 's' then VendorContactLName + ''''
else VendorContactLName + '''s'
end) as 'Vendor Full Name'
FROM Vendors