to_char()可否用convert来替代,具体该怎样写呢

解决方案 »

  1.   

    1、oracle中rownum在sql server中应该用什么来代替呢?select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表
    select * from #temp where ID_Num between 10 and 202、oracle中to_char()函数在sql server中应该用什么来代替呢?select cast(34 as varchar(10))3、oracle中“||”符号在sql server中应该用什么来代替呢?
    答对一个就给分!!!select 'aa'+'bbb'
      

  2.   

    A. 同时使用 CAST 和 CONVERT
    每个示例都将检索书名(这些图书的截止当前销售额的第一位数字为 3),并将这些图书的 ytd_sales 转换为 char(20)。-- Use CAST.
    USE pubs
    GO
    SELECT SUBSTRING(title, 1, 30) AS Title, ytd_sales
    FROM titles
    WHERE CAST(ytd_sales AS char(20)) LIKE '3%'
    GO-- Use CONVERT.
    USE pubs
    GO
    SELECT SUBSTRING(title, 1, 30) AS Title, ytd_sales
    FROM titles
    WHERE CONVERT(char(20), ytd_sales) LIKE '3%'
    GO下面是任一查询的结果集:Title                          ytd_sales   
    ------------------------------ ----------- 
    Cooking with Computers: Surrep 3876        
    Computer Phobic AND Non-Phobic 375         
    Emotional Security: A New Algo 3336        
    Onions, Leeks, and Garlic: Coo 375         (4 row(s) affected)B. 使用带有算术运算符的 CAST
    下面的示例通过将总的截止当前销售额 (ytd_sales) 与每本图书的价格 (price) 相除,进行单独列计算 (Copies)。在四舍五入到最接近的整数后,此结果将转换为 int 数据类型。 USE pubs
    GO
    SELECT CAST(ROUND(ytd_sales/price, 0) AS int) AS 'Copies'
    FROM titles
    GO下面是结果集:Copies      
    ------ 
    205         
    324         
    6262        
    205         
    102         
    7440        
    NULL        
    383         
    205         
    NULL        
    17          
    187         
    16          
    204         
    418         
    18          
    1263        
    273         (18 row(s) affected)C. 使用 CAST 进行串联
    下面的示例使用 CAST 数据类型转换函数来串联非字符、非二进制表达式。USE pubs
    GO
    SELECT 'The price is ' + CAST(price AS varchar(12))
    FROM titles
    WHERE price > 10.00
    GO下面是结果集:------------------ 
    The price is 19.99        
    The price is 11.95        
    The price is 19.99        
    The price is 19.99        
    The price is 22.95        
    The price is 20.00        
    The price is 21.59        
    The price is 10.95        
    The price is 19.99        
    The price is 20.95        
    The price is 11.95        
    The price is 14.99        (12 row(s) affected)D. 使用 CAST 获得更多易读文本
    下面的示例在选择列表中使用 CAST 将 title 列转换为 char(50) 列,这样结果将更加易读。USE pubs
    GO
    SELECT CAST(title AS char(50)), ytd_sales
    FROM titles
    WHERE type = 'trad_cook'
    GO下面是结果集:                                                       ytd_sales
    --------------------------------------------------     ---------
    Onions, Leeks, and Garlic: Cooking Secrets of the      375
    Fifty Years in Buckingham Palace Kitchens              15096
    Sushi, Anyone?                                         4095(3 row(s) affected)E. 使用带有 LIKE 子句的 CAST
    下面的示例将 int 列(ytd_sales 列)转换为 char(20) 列,以便使用 LIKE 子句。USE pubs
    GO
    SELECT title, ytd_sales
    FROM titles
    WHERE CAST(ytd_sales AS char(20)) LIKE '15%'
       AND type = 'trad_cook'
    GO下面是结果集:title                                                        ytd_sales   
    ------------------------------------------------------------ ----------- 
    Fifty Years in Buckingham Palace Kitchens                    15096       (1 row(s) affected)
      

  3.   

    IDENTITY(函数)
    只用在带有 INTO table 子句的 SELECT 语句中,以将标识列插入到新表中。尽管类似,但是 IDENTITY 函数不是与 CREATE TABLE 和 ALTER TABLE 一起使用的 IDENTITY 属性。语法
    IDENTITY ( data_type [ , seed , increment ] ) AS column_name参数
    data_type标识列的数据类型。标识列的有效数据类型可以是任何整数数据类型分类的数据类型(bit 数据类型除外),也可以是 decimal 数据类型。seed要指派给表中第一行的值。给每一个后续行指派下一个标识值,该值等于上一个 IDENTITY 值加上 increment 值。如果既没有指定 seed,也没有指定 increment,那么它们都默认为 1。increment用来添加到 seed 值以获得表中连续行的增量。column_name将插入到新表中的列的名称。 返回类型
    返回与 data_type 相同的类型。注释
    因为该函数在表中创建一个列,所以必须用下列方式中的一种在选择列表中指定该列的名称:--(1)
    SELECT IDENTITY(int, 1,1) AS ID_Num
    INTO NewTable
    FROM OldTable--(2)
    SELECT ID_Num = IDENTITY(int, 1, 1)
    INTO NewTable
    FROM OldTable示例
    下面的示例将来自 pubs 数据库中 employee 表的所有行都插入到名为 employees 的新表。使用 IDENTITY 函数在 employees 表中从 100 而不是 1 开始编标识号。USE pubs
    IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
          WHERE TABLE_NAME = 'employees')
       DROP TABLE employees
    GO
    EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'SELECT emp_id AS emp_num, 
       fname AS first, 
       minit AS middle, 
       lname AS last, 
       IDENTITY(smallint, 100, 1) AS job_num, 
       job_lvl AS job_level, 
       pub_id, 
       hire_date
    INTO employees 
    FROM employee
    GO
    USE pubs
    EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'false'
      

  4.   

    1、oracle中rownum在sql server中应该用什么来代替呢?select IDENTITY(int, 1,1) AS ID,* into #temp from 表
    select * from #temp where ID between 10 and 202、oracle中to_char()函数在sql server中应该用什么来代替呢?select cast(数值 as varchar(20))
      

  5.   

    1、
    select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表
    select * from #temp where ID_Num between 10 and 202、
    select cast(yourfield as varchar(长度))3、
      

  6.   

    2.用convert或cast来替代
    CAST 和 CONVERT
    将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。语法
    使用 CAST:CAST ( expression AS data_type ) 使用 CONVERT:CONVERT (data_type[(length)], expression [, style])参数
    expression是任何有效的 Microsoft® SQL Server™ 表达式。有关更多信息,请参见表达式。 data_type目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。有关可用的数据类型的更多信息,请参见数据类型。 lengthnchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。 style日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。
      

  7.   

    to pengdali(大力 V2.0) :
    select id+'bbb' from table;
    如果id是number类型的,会不会出现类型转换问题?
      

  8.   

    借说一句题外话:上面的都是高手,可是是不是高手都喜欢把问题搞复杂?楼主问的三个问题也不太难,可是才几个人回答就回了一长溜,ctrl+c,ctrl+v 固然不累,可是那些提问,那些想找答案的人看得累呀?    高手就是将原理由抽象化为具体,由晦涩化为简明... ...