<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Πρώτα Βήματα - Βάσεις δεδομένων</title><link>https://www.dotnetzone.gr:443/cs/forums/73/ShowForum.aspx</link><description>Για όσους κάνουν τα πρώτα τους βήματα στην Microsoft Access ή τον SQL Server, ή γενικότερα στη θεωρία βάσεων δεδομένων.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Πρόσθεση με TSQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47746.aspx</link><pubDate>Mon, 19 Jan 2009 20:42:43 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47746</guid><dc:creator>nikolaosk</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47746.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=47746</wfw:commentRss><description>&lt;P&gt;μην χρησιμοποιείς cursor. ήδη έχεις ενναλακτική λύση.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;δες λίγο εδώ&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.sql-server-performance.com/tips/cursors_p1.aspx"&gt;http://www.sql-server-performance.com/tips/cursors_p1.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.sqlteam.com/article/cursors-an-overview"&gt;http://www.sqlteam.com/article/cursors-an-overview&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: Πρόσθεση με TSQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47744.aspx</link><pubDate>Mon, 19 Jan 2009 20:05:47 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47744</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47744.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=47744</wfw:commentRss><description>&lt;P&gt;Γιατί επιμένεις να κάνεις loop? Εξάλλου ένας cursor είναι ουσιαστικά loop επάνω σε data και το αντίστροφο. Τον κώδικα τον έχεις ήδη γράψει. Είτε συγκρίνεις το @@FETCH_Status είτε το αποτέλεσμα κάποιου άλλου query, το loop είναι πάντα ένα WHILE BEGIN ...&amp;nbsp;END. &lt;/P&gt;
&lt;P&gt;Μπορείς άνετα να φτιάξεις ένα query το οποίο θα επιστρέφει τον αριθμό των εγγραφών που ικανοποιούν μία συνθήκη&amp;nbsp; (π.χ. Status=1) και μετά μέσα στο BEGIN ... END να τροποποιείς το Status . Πριν το END ξανατρέχεις το query που ελέγχει τη συνθήκη. Αυτό όμως δεν διαφέρει από ένα cursor. Πάλι θα έχεις αργή εκτέλεση, πάλι θα έχεις locks μεγάλης διαρκείας.&lt;/P&gt;
&lt;P&gt;Πολύ σπάνια χρειάζεσαι loops ή cursors και σχεδόν ποτέ για απλές περιπτώσεις όπως ένα web application. Θα τους χρειαστείς αν πρέπει να τροποποιήσεις με τη μία πολλές δεκάδες χιλιάδες εγγραφές σε batches, ή αν θέλεις να υπολογίσεις running totals σε εκατοντάδες εγγραφές. Σε κάθε άλλη περίπτωση όμως μπορείς να γράψεις ένα SELECT ή UPDATE που να σου κάνει τη δουλειά.&lt;/P&gt;</description></item><item><title>Απ: Πρόσθεση με TSQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47741.aspx</link><pubDate>Mon, 19 Jan 2009 19:18:19 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47741</guid><dc:creator>Παπαδημητρίου Γεώργιος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47741.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=47741</wfw:commentRss><description>&lt;P&gt;Όντως για τους cursors δεν έχω διαβάσει τα καλύτερα... αλλά μάλλον θα πρέπει να ανοίξω διαφορετικό thread γι' αυτό&lt;BR&gt;&lt;BR&gt;Γενικά όμως υπάρχει κάποιος ''μπούσουλας'' για χρήση for loop χωρίς cursor?&lt;BR&gt;Γιατί δεν βλέπω κάτι άλλο εκτός από nested Select στη λύση που πρότεινες.&lt;BR&gt;Μήπως τελικά αυτός είναι ο ''μπούσουλας''?&lt;BR&gt;&lt;BR&gt;Τα αποτελέσματα είναι από δική μου βάση.&lt;BR&gt;Απλά όταν ξεκίνησε η ιδέα, ως "βάση" χρησιμοποιούσα το excel.&lt;BR&gt;&lt;BR&gt;Μέχρι και σήμερα όμως τα αποτελέσματα είναι ως string στον SQL server λόγω θέσπισης προτεραιοτήτων...&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Απ: Πρόσθεση με TSQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47740.aspx</link><pubDate>Mon, 19 Jan 2009 19:01:44 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47740</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47740.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=47740</wfw:commentRss><description>&lt;P&gt;Θα σου πρότεινα να ΜΗΝ χρησιμοποιήσεις cursors. Ήδη σου έδωσα μία λύση γρηγορότερη η οποία δεν απαιτεί cursors. Οι cursors είναι η πιο αργή λύση που&amp;nbsp;μπορείς να χρησιμοποιήσεις σχεδόν σε κάθε περίπτωση.&amp;nbsp; Ο λόγος είναι ότι αντί να αφήνεις τη βάση να χειριστεί όλα τα δεδομένα μαζί, την αναγκάζεις να τα επεξεργαστεί ένα-ένα παρακάμπτωντας οποιοδήποτε optimization θα μπορούσε να χρησιμοποιηθεί.&amp;nbsp; Η χρήση cursors είναι μία από τις μεγαλύτερες πηγές καθυστέρησεις και προβλημάτων concurrency (βλέπε blocking, deadlocks) γιατί κρατάει ανοικτά locks για όλη τη (μακρά) διάρκεια του cursor.&lt;/P&gt;
&lt;P&gt;Τα αποτελέσματα τα παίρνεις από άλλη βάση ή από τη δική σου? Γιατί αν πρόκειται για τη δική σου μπορείς άνετα να τα σπάσεις σε ξεχωριστά πεδία κατά την αποθήκευση.&lt;/P&gt;</description></item><item><title>Απ: Πρόσθεση με TSQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47739.aspx</link><pubDate>Mon, 19 Jan 2009 18:50:40 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47739</guid><dc:creator>Παπαδημητρίου Γεώργιος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47739.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=47739</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;BR&gt;Νομίζω ότι πρώτα θα πρέπει ο gipap να εξηγήσει τί θέλει να κάνει, και εφόσον πρόκειται για άσκηση να δώσει την ίδια την εκφώνηση. Αυτό που ζητάει είναι περίεργο και κάτι μου λέει ότι αυτό που πραγματικά ζητάει η άσκηση (αν πρόκειται για άσκηση) είναι διαφορετικό.&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt; 
&lt;P&gt;Οχι Παναγιώτη δεν πρόκειται για άσκηση. Πρόκειται για την προσωπική μου ιστοσελίδα.&lt;BR&gt;&lt;BR&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;BR&gt;Γιατί το select επιστρέφει αυτά τα strings και όχι τους αριθμούς ξεχωριστά?&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;BR&gt;&lt;BR&gt;Γιατί τα αποτελέσματα της Select είναι αποτελέσματα αγώνων ποδοσφαίρου.&lt;BR&gt;0-1&lt;BR&gt;4-3&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;BR&gt;Ας μην ξεχνάμε επίσης ότι η SQL δουλεύει με set. Η λύση του Νίκου προϋποθέτει την ύπαρξη cursor ο οποίος θα εκτελέσει τον κώδικα του μία φορά για κάθε εγγραφή που επιστρέφει η select. Αν όμως πρόκειται για άσκηση, ο καθηγητής δεν θα χαρεί καθόλου με μία procedural απάντηση. Μπορεί να δουλεύει αλλά δεν είναι αυτό που ζήτησε.&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;BR&gt;&lt;BR&gt;Οσο για τον κύριο καθηγητή μάλλον θα χαρεί μαζί με εμένα για 2 λόγους!&lt;BR&gt;1) Θα του δώσω στάνταρ για το στοίχημα!&lt;BR&gt;2) Έχω χρησιμοποιήσει cursor για το for loop (Όχι ότι καλύτερο βέβαια σε σχέση με αυτό που πρότεινες)&lt;BR&gt;&lt;FONT color=#0000ff size=2&gt;&lt;BR&gt;DECLARE&lt;/FONT&gt;&lt;FONT size=2&gt; MyCursor &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;CURSOR&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FOR&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#ff1493&gt;'ΕΔΩ ΕΙΝΑΙ Η SELECT ΜΟΥ'&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;OPEN&lt;/FONT&gt;&lt;FONT size=2&gt; MyCursor&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;FETCH&lt;/FONT&gt;&lt;FONT size=2&gt; MyCursor &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;INTO&lt;/FONT&gt;&lt;FONT size=2&gt; @AkrivesSkor&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; @Sum &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;0&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; @i &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 0&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;WHILE&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;@@Fetch_Status&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 0&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;BEGIN&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; @str1 &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @AkrivesSkor&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; @num&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;cast&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;((&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;SUBSTRING&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;@str1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;CHARINDEX&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'-'&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt;@str1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)+&lt;/FONT&gt;&lt;FONT size=2&gt;1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; 1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;))&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;int&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;+&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;CAST&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;((&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;SUBSTRING&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT size=2&gt;@str1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;CHARINDEX&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'-'&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt;@str1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)-&lt;/FONT&gt;&lt;FONT size=2&gt;1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; 1&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;int&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; @Sum &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @Sum &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;+&lt;/FONT&gt;&lt;FONT size=2&gt; @num&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; @i &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @i&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;+&lt;/FONT&gt;&lt;FONT size=2&gt;1&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FETCH&lt;/FONT&gt;&lt;FONT size=2&gt; MyCursor &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;INTO&lt;/FONT&gt;&lt;FONT size=2&gt; @AkrivesSkor&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;END&lt;/P&gt;
&lt;P&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; @i &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 6&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;BEGIN&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; @MesosEktos &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; @Sum &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;/&lt;/FONT&gt;&lt;FONT size=2&gt; 6.00&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;FONT size=2&gt; @MesosEktos&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;END&lt;/P&gt;
&lt;P&gt;ELSE&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SET&lt;/FONT&gt;&lt;FONT size=2&gt; @MesosEktos &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; 0&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SELECT&lt;/FONT&gt;&lt;FONT size=2&gt; @MesosEktos&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;CLOSE&lt;/FONT&gt;&lt;FONT size=2&gt; MyCursor&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;DEALLOCATE&lt;/FONT&gt;&lt;FONT size=2&gt; MyCursor&lt;/P&gt;
&lt;P&gt;Για δυνατούς λύτες φαντάζομαι είναι&amp;nbsp;η χρήση LOOP χωρίς cursor.&lt;BR&gt;Κάτι που δεν κατέχω ακόμα τουλάχιστον.&lt;BR&gt;&lt;BR&gt;Ο εχθρός του καλού είναι πάντα το καλύτερο.&lt;BR&gt;Σε ευχαριστώ Παναγιώτη.&lt;/FONT&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;</description></item><item><title>Απ: Πρόσθεση με TSQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47716.aspx</link><pubDate>Sun, 18 Jan 2009 06:39:04 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47716</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47716.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=47716</wfw:commentRss><description>&lt;P&gt;Νομίζω ότι πρώτα θα πρέπει ο gipap να εξηγήσει τί θέλει να κάνει, και εφόσον πρόκειται για άσκηση να δώσει την ίδια την εκφώνηση. Αυτό που ζητάει είναι περίεργο και κάτι μου λέει ότι αυτό που πραγματικά ζητάει η άσκηση (αν πρόκειται για άσκηση) είναι διαφορετικό. Γιατί το select επιστρέφει αυτά τα strings και όχι τους αριθμούς ξεχωριστά? Αν επέστρεφε τους αριθμούς αντί για string θα αρκούσε ένα απλό sum για να τελειώσει κανείς. &lt;BR&gt;Ας μην ξεχνάμε επίσης ότι η SQL δουλεύει με set. Η λύση του Νίκου προϋποθέτει την ύπαρξη cursor ο οποίος θα εκτελέσει τον κώδικα του μία φορά για κάθε εγγραφή που επιστρέφει η select. Αν όμως πρόκειται για άσκηση, ο καθηγητής δεν θα χαρεί καθόλου με μία procedural απάντηση. Μπορεί να δουλεύει αλλά δεν είναι αυτό που ζήτησε. &lt;/P&gt;
&lt;P&gt;Αν το Select αλλάξει έτσι ώστε να επιστρέφει ξεχωριστά τους αριθμούς, π.χ. Num1 και Num2, μπορεί κανείς να πάρει το επιθυμητό αποτέλεσμα με ένα απλό sum:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:black;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;select&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;sum&lt;/SPAN&gt;(num1 + num2)&lt;BR&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;from&lt;/SPAN&gt; (&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;select&lt;/SPAN&gt; .......... )&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:black;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;
&lt;P&gt;&lt;FONT size=2 face=Tahoma&gt;Αν υπάρχει σοβαρός λόγος να επιστρέφεται αυτό το string (κάτι πολύ απίθανο) μπορεί κανείς να πάρει πάλι το ίδιο αποτέλεσμα ως:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:black;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;select&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;sum&lt;/SPAN&gt;(&lt;BR&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;cast&lt;/SPAN&gt;(&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SUBSTRING&lt;/SPAN&gt;(Nums,0,SeparatorIndex) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;as&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;int&lt;/SPAN&gt;)+&lt;BR&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;cast&lt;/SPAN&gt;(&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SUBSTRING&lt;/SPAN&gt;(Nums,SeparatorIndex+1,100) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;as&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;int&lt;/SPAN&gt;)&lt;BR&gt;)&lt;BR&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;from&lt;/SPAN&gt; &lt;BR&gt;(&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;select&lt;/SPAN&gt; Nums, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CHARINDEX&lt;/SPAN&gt;(&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'-'&lt;/SPAN&gt;,Nums,0) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;as&lt;/SPAN&gt; SeparatorIndex&lt;BR&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;from&lt;/SPAN&gt; (&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; ...)&lt;BR&gt;) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;As&lt;/SPAN&gt; Numbers&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:black;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;
&lt;P&gt;&lt;FONT size=2 face=Tahoma&gt;Πρώτα βρίσκω τη θέση του separator και μετά σπάω το string, μετατρέπω σε αριθμό και κάνω sum. &lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;</description></item><item><title>Απ: Πρόσθεση με TSQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47715.aspx</link><pubDate>Sun, 18 Jan 2009 04:54:16 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47715</guid><dc:creator>nikolaosk</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47715.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=47715</wfw:commentRss><description>&lt;P&gt;ναι μάλλον το ήθελε αι αυτό, ο φίλος.θα πρέπει να χρησιμοποιήσει τις built in string functios του SQL Server,όπως η Substring και η charindex.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ρίξε μια ματιά εδώ. αν το τρέξεις αυτό θα σου δώσει 5. πάει και βρίσκει την θέση του "-" χαρακτήρα και μετά προσθέτει τις τιμές αριστερά και δεξιά του "-"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;
&lt;P&gt;declare&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; @str1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;varchar &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;10&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;)&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;declare&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; @num &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;int&lt;/P&gt;
&lt;P&gt;set&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; @str1&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=4&gt;&lt;FONT color=#ff0000 size=4&gt;'3-2'&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;
&lt;P&gt;set&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; @num&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff00ff size=4&gt;&lt;FONT color=#ff00ff size=4&gt;cast&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;((&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;SELECT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=4&gt;&lt;FONT color=#ff00ff size=4&gt;SUBSTRING&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;@str1&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff00ff size=4&gt;&lt;FONT color=#ff00ff size=4&gt;CHARINDEX&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=4&gt;&lt;FONT color=#ff0000 size=4&gt;'-'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;@str1&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;)+&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;1&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; 1&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;))&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;int&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;+&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=4&gt;&lt;FONT color=#ff00ff size=4&gt;CAST&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;((&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;SELECT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=4&gt;&lt;FONT color=#ff00ff size=4&gt;SUBSTRING&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;@str1&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff00ff size=4&gt;&lt;FONT color=#ff00ff size=4&gt;CHARINDEX&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=4&gt;&lt;FONT color=#ff0000 size=4&gt;'-'&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;@str1&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;)-&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;1&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; 1&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;int&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;)&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;
&lt;P&gt;select&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; @num&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=4&gt;&lt;FONT color=#008000 size=4&gt;
&lt;P&gt;--print @num&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description></item><item><title>Απ: Πρόσθεση με TSQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47713.aspx</link><pubDate>Sun, 18 Jan 2009 03:25:15 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47713</guid><dc:creator>Τάσκος Γιώργος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47713.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=47713</wfw:commentRss><description>Νομίζω πως και η παύλα δεν θα είναι και μία ακόμη εργασία που πρέπει να κάνει για να διαλέξει&lt;br&gt;από το string τους αριθμούς μόνο? δηλαδή αν το string είναι "1-1" πρέπει να πάρει τον πρώτο&lt;br&gt;και τον τελευταίο χαρακτήρα και να τους κάνει μετά casting και convert και μετά το operation που θέλει.&lt;br&gt;Πολύ δουλειά. Καλύτερα αν μπορείς να αλλάξεις το datatype για να γυρνάει αριθμήτικό τύπο.&lt;br&gt;&lt;br&gt;Εκτός αν κατάλαβα λάθος και η παύλα δεν λέει τίποτα!&lt;br&gt;&lt;br&gt;??&lt;br&gt;</description></item><item><title>Απ: Πρόσθεση με TSQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47711.aspx</link><pubDate>Sun, 18 Jan 2009 01:49:59 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47711</guid><dc:creator>nikolaosk</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47711.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=47711</wfw:commentRss><description>&lt;P&gt;έχει δίκιο ο παναγιώτης. το casting σκοτώνει το performance. ειδικά σε πολλά δεδομένα και όταν κάνεις multiple castings&lt;/P&gt;
&lt;P&gt;αν θες να δεις πως είναι περίπου αυτό που ζητάς.άνοιξε το SSMS, connect to sql server, και σε ένα query window type&lt;/P&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;
&lt;P&gt;declare&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; @str1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;varchar &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;10&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;)&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;
&lt;P&gt;declare&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; @str2 &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;varchar&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;10&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;)&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;
&lt;P&gt;declare&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; @num &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;int&lt;/P&gt;
&lt;P&gt;set&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; @str1&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;2&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;
&lt;P&gt;set&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; @str2&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;1&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;
&lt;P&gt;set&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; @num&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff00ff size=4&gt;&lt;FONT color=#ff00ff size=4&gt;cast&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;@str1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;int&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;+&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=4&gt;&lt;FONT color=#ff00ff size=4&gt;CAST&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;@str2 &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;int&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=4&gt;&lt;FONT color=#808080 size=4&gt;)&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;
&lt;P&gt;select&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; @num&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=4&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=4&gt;το τρέχεις όλο μαζί αυτό σαν batch. Μην τρέξεις κάθε γραμμή ξεχωριστά&lt;/P&gt;&lt;/FONT&gt;</description></item><item><title>Απ: Πρόσθεση με TSQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47708.aspx</link><pubDate>Sun, 18 Jan 2009 00:37:10 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47708</guid><dc:creator>Panagiotis Kefalidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47708.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=47708</wfw:commentRss><description>&lt;P&gt;Ένας τρόπος είναι να το κάνεις cast σε decimal/integer και να κάνεις την πράξη κανονικά. Ρίξε μια ματιά εδώ &lt;A href="http://msdn.microsoft.com/en-us/library/ms187928.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms187928.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Να ξέρεις πάντως ότι αυτά (casting, convert κλπ)&amp;nbsp;"κοστίζουν" σε CPU cycles κι όχι μόνο. Εγώ θα πρότεινα είτε κάνεις τους υπολογισμούς στον client, είτε να φτιάξεις κάποιο assembly (για 2005 και μετά) το οποίο κάνει τους υπολογισμούς και επιστρέφει το αποτέλεσμα, είτε να αλλάξεις το schema της βάσης σου ώστε αυτά τα πεδία να είναι decimal/integer/whatever ώστε να γίνεται ο υπολογισμός χωρίς casting. Σπάνια αποτελεί καλή λύση να κάνεις τόσα πολλά cast/convert.&lt;/P&gt;</description></item><item><title>Πρόσθεση με TSQL</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47705.aspx</link><pubDate>Sun, 18 Jan 2009 00:07:51 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47705</guid><dc:creator>Παπαδημητρίου Γεώργιος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47705.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=47705</wfw:commentRss><description>Hello!&lt;BR&gt;&lt;BR&gt;'Εχω δημιουργήσει μια Select η οποία επιστρέφει τα παρακάτω string&lt;BR&gt;&lt;BR&gt;
&lt;TABLE style="WIDTH:26px;HEIGHT:111px;"&gt;

&lt;TR&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;1-1&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;0-2&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;1-2&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;πως μπορώ να προσθέσω με χρήση TSQL τους αριθμούς?&lt;BR&gt;Το αποτέλεσμα πχ για το παραπάνω παράδειγμα θα πρέπει να είναι ίσο με &lt;STRONG&gt;7&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;(1+1) &lt;STRONG&gt;&lt;FONT size=3&gt;+&lt;/FONT&gt;&lt;/STRONG&gt; (0+2) &lt;STRONG&gt;&lt;FONT size=3&gt;+&lt;/FONT&gt;&lt;/STRONG&gt; (1+2) &lt;FONT size=3&gt;=&lt;/FONT&gt; &lt;STRONG&gt;7&lt;BR&gt;&lt;BR&gt;&lt;/STRONG&gt;Ευχαριστώ εκ των προτέρων</description></item></channel></rss>