Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. Database & SysAdmin
  3. Database
  4. select statement to display name 1000 times

select statement to display name 1000 times

Scheduled Pinned Locked Moved Database
databasehelptutorial
16 Posts 6 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A arun_pk

    pls help me out to display a string for example 'abcd' 1000 times using select statement in SQL

    N Offline
    N Offline
    Niladri_Biswas
    wrote on last edited by
    #2

    a)

    select REPLICATE ('abcd', 1000)

    b)

    PRINT 'abcd'
    GO 10000

    c) If using sql server 2005+

    with cte as
    ( select 1 as rn,'abcd' as data
    union all
    select rn+1, 'abcd' as data from cte where rn<1000)

    select data from cte option (maxrecursion 0)

    d)

    DECLARE @x XML
    SELECT @x = REPLICATE ('<x>abcd</x>', 1000)
    SELECT i.value('.', 'VARCHAR(MAX)') ReplacedStrings
    FROM @x.nodes('//x') x(i)

    :)

    Niladri Biswas

    modified on Tuesday, December 1, 2009 6:10 AM

    A 1 Reply Last reply
    0
    • N Niladri_Biswas

      a)

      select REPLICATE ('abcd', 1000)

      b)

      PRINT 'abcd'
      GO 10000

      c) If using sql server 2005+

      with cte as
      ( select 1 as rn,'abcd' as data
      union all
      select rn+1, 'abcd' as data from cte where rn<1000)

      select data from cte option (maxrecursion 0)

      d)

      DECLARE @x XML
      SELECT @x = REPLICATE ('<x>abcd</x>', 1000)
      SELECT i.value('.', 'VARCHAR(MAX)') ReplacedStrings
      FROM @x.nodes('//x') x(i)

      :)

      Niladri Biswas

      modified on Tuesday, December 1, 2009 6:10 AM

      A Offline
      A Offline
      arun_pk
      wrote on last edited by
      #3

      thanks for the response but this gives me an output in this manner abcdabcdabcdabcd.................. i m looking for abcd in 1000 records likes this abcd abcd abcd abcd . . . . . . . .

      N 1 Reply Last reply
      0
      • A arun_pk

        thanks for the response but this gives me an output in this manner abcdabcdabcdabcd.................. i m looking for abcd in 1000 records likes this abcd abcd abcd abcd . . . . . . . .

        N Offline
        N Offline
        Niladri_Biswas
        wrote on last edited by
        #4

        Follow the third approach i.e.

        recursive cte

        :)

        Niladri Biswas

        A 1 Reply Last reply
        0
        • A arun_pk

          pls help me out to display a string for example 'abcd' 1000 times using select statement in SQL

          B Offline
          B Offline
          Blue_Boy
          wrote on last edited by
          #5

          One of the ways is:

          create table #tblname (
          col1 varchar(200)
          )

          declare @i as int
          set @i=0
          while @i<=1000
          begin
          set @i=@i+1
          insert into #tblname values ('abc')
          end

          select * from #tblname

          drop table #tblname


          I Love T-SQL "Don't torture yourself,let the life to do it for you." If my post helps you kindly save my time by voting my post. www.aktualiteti.com

          A 1 Reply Last reply
          0
          • B Blue_Boy

            One of the ways is:

            create table #tblname (
            col1 varchar(200)
            )

            declare @i as int
            set @i=0
            while @i<=1000
            begin
            set @i=@i+1
            insert into #tblname values ('abc')
            end

            select * from #tblname

            drop table #tblname


            I Love T-SQL "Don't torture yourself,let the life to do it for you." If my post helps you kindly save my time by voting my post. www.aktualiteti.com

            A Offline
            A Offline
            arun_pk
            wrote on last edited by
            #6

            thanks for the response i m looking for doing with out looping

            1 Reply Last reply
            0
            • N Niladri_Biswas

              Follow the third approach i.e.

              recursive cte

              :)

              Niladri Biswas

              A Offline
              A Offline
              arun_pk
              wrote on last edited by
              #7

              thanks its coming how will i be able to insert that 'abcd' 1000 times in my insert given below insert into [dbo].[Test](NAME)

              N 1 Reply Last reply
              0
              • A arun_pk

                thanks its coming how will i be able to insert that 'abcd' 1000 times in my insert given below insert into [dbo].[Test](NAME)

                N Offline
                N Offline
                Niladri_Biswas
                wrote on last edited by
                #8

                A) With recursive cte approach

                declare @t table(name varchar(50))
                ;with cte as
                ( select 1 as rn,'abcd' as data
                union all
                select rn+1, 'abcd' as data from cte where rn<1000)

                insert into @t
                select data from cte option (maxrecursion 0)

                select * from @t

                B) Xquery approach

                declare @t table(name varchar(50))
                DECLARE @x XML
                SELECT @x = REPLICATE ('<x>abcd</x>', 1000)
                insert into @t
                SELECT i.value('.', 'VARCHAR(MAX)') ReplacedStrings
                FROM @x.nodes('//x') x(i)

                select * from @t

                :)

                Niladri Biswas

                A 1 Reply Last reply
                0
                • A arun_pk

                  pls help me out to display a string for example 'abcd' 1000 times using select statement in SQL

                  A Offline
                  A Offline
                  Ashfield
                  wrote on last edited by
                  #9

                  use the same method as you were told previously, a cartesian join, and limit it

                  select top 1000 'a'
                  from dbo.sysobjects as so1, dbo.sysobjects as so2

                  and buy a book on SQL.

                  Bob Ashfield Consultants Ltd Proud to be a 2009 Code Project MVP

                  A M 2 Replies Last reply
                  0
                  • N Niladri_Biswas

                    A) With recursive cte approach

                    declare @t table(name varchar(50))
                    ;with cte as
                    ( select 1 as rn,'abcd' as data
                    union all
                    select rn+1, 'abcd' as data from cte where rn<1000)

                    insert into @t
                    select data from cte option (maxrecursion 0)

                    select * from @t

                    B) Xquery approach

                    declare @t table(name varchar(50))
                    DECLARE @x XML
                    SELECT @x = REPLICATE ('<x>abcd</x>', 1000)
                    insert into @t
                    SELECT i.value('.', 'VARCHAR(MAX)') ReplacedStrings
                    FROM @x.nodes('//x') x(i)

                    select * from @t

                    :)

                    Niladri Biswas

                    A Offline
                    A Offline
                    arun_pk
                    wrote on last edited by
                    #10

                    thnks a looooooot

                    1 Reply Last reply
                    0
                    • A Ashfield

                      use the same method as you were told previously, a cartesian join, and limit it

                      select top 1000 'a'
                      from dbo.sysobjects as so1, dbo.sysobjects as so2

                      and buy a book on SQL.

                      Bob Ashfield Consultants Ltd Proud to be a 2009 Code Project MVP

                      A Offline
                      A Offline
                      arun_pk
                      wrote on last edited by
                      #11

                      thanks for ur advice but u are failed to answer my q u buy SQL basics

                      A L 2 Replies Last reply
                      0
                      • A arun_pk

                        thanks for ur advice but u are failed to answer my q u buy SQL basics

                        A Offline
                        A Offline
                        Ashfield
                        wrote on last edited by
                        #12

                        arun_pk wrote:

                        but u are failed to answer my q

                        In what respect?

                        select top 1000 'a' from dbo.sysobjects as so1, dbo.sysobjects as so2

                        will do as your (vague) question asks.

                        arun_pk wrote:

                        u buy SQL basics

                        Why? Its not me asking basic questions about sql, its you that doesn't understand what you are being told will work.

                        Bob Ashfield Consultants Ltd Proud to be a 2009 Code Project MVP

                        1 Reply Last reply
                        0
                        • A arun_pk

                          thanks for ur advice but u are failed to answer my q u buy SQL basics

                          L Offline
                          L Offline
                          Lost User
                          wrote on last edited by
                          #13

                          arun_pk wrote:

                          but u are failed to answer my q

                          Ashfield's query works perfectly for your requirement.

                          arun_pk wrote:

                          u buy SQL basics

                          I just saw you being spoon fed by Niladri_Biswas and you are advising others to learn SQL basics ? Funny.

                          1 Reply Last reply
                          0
                          • A Ashfield

                            use the same method as you were told previously, a cartesian join, and limit it

                            select top 1000 'a'
                            from dbo.sysobjects as so1, dbo.sysobjects as so2

                            and buy a book on SQL.

                            Bob Ashfield Consultants Ltd Proud to be a 2009 Code Project MVP

                            M Offline
                            M Offline
                            Mycroft Holmes
                            wrote on last edited by
                            #14

                            Cute - what if sysobjects less than 100 records, add another cross join, and another :laugh: !

                            Never underestimate the power of human stupidity RAH

                            A 1 Reply Last reply
                            0
                            • M Mycroft Holmes

                              Cute - what if sysobjects less than 100 records, add another cross join, and another :laugh: !

                              Never underestimate the power of human stupidity RAH

                              A Offline
                              A Offline
                              Ashfield
                              wrote on last edited by
                              #15

                              Mycroft Holmes wrote:

                              what if sysobjects less than 100 records, add another cross join

                              Yep. Mind you, by default sysobjects has about 40 rows, and 40 * 40 is 1600 so he should be safe. And at the end of the day, he now has enough info to work it out for himself :)

                              Bob Ashfield Consultants Ltd Proud to be a 2009 Code Project MVP

                              M 1 Reply Last reply
                              0
                              • A Ashfield

                                Mycroft Holmes wrote:

                                what if sysobjects less than 100 records, add another cross join

                                Yep. Mind you, by default sysobjects has about 40 rows, and 40 * 40 is 1600 so he should be safe. And at the end of the day, he now has enough info to work it out for himself :)

                                Bob Ashfield Consultants Ltd Proud to be a 2009 Code Project MVP

                                M Offline
                                M Offline
                                Mycroft Holmes
                                wrote on last edited by
                                #16

                                Ashfield wrote:

                                he now has enough info to work it out for himself

                                Not with the spoon feeding Niladri had to do, I doubt he has the nous to research cross join!

                                Never underestimate the power of human stupidity RAH

                                1 Reply Last reply
                                0
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • World
                                • Users
                                • Groups