2013-10-09 65 views
-6

编写从卖方表返回这些列的SELECT语句:如何获得所需的输出?

  • 的VENDOR_NAME列
  • 全部使用大写字母的VENDOR_NAME列
  • 的vendor_phone列
  • 过去四年每部手机的数字编号

当你得到那个工作权利时,将后面的列添加到结果集中。这更加困难,因为这些列需要使用函数内的函数。

  • 每个供应商名称中的第二个词,如果有的话;否则,清空
  • 由圆点分隔数量的部件在vendor_phone列在555.555.5555

这是我到目前为止已经试过:

select vendor_name, UPPER(vendor_name) AS VENDOR_NAME_UPPER, 
vendor_phone, SUBSTR(vendor_phone, 11, 4), 
Replace 
(replace 
(replace(vendor_phone, ') ', '.') 
, '(', '') 
, '-','.') AS vendor_phone_dot, 
SUBSTR(vendor_name, (INSTR(vendor_name, ' ') + 1)) AS Second_Word 
from vendors; 
+1

为什么你不在程序中操作这些东西而不是使查询变得复杂。 –

+1

你好。欢迎来到SO。为了期待你的问题有良好的答案,你需要尽量让我们很容易理解你在尝试一些代码时面临的问题。你有没有对你发布的内容做过任何研究?你的数据库结构是什么?假设你已经尝试过什么,你到目前为止尝试过什么?什么没有用? – mavrosxristoforos

+0

我已经重新格式化了这个问题 – Steve

回答

0

试试这个..

SELECT vendor_name, CONVERT(VARCHAR(50), UPPER(vendor_name)),SUBSTRING(vendor_phone, LEN(vendor_phone)-3 ,4) FROM Vendors