<?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>SQL Server (και άλλες databases)</title><link>https://www.dotnetzone.gr:443/cs/forums/28/ShowForum.aspx</link><description>Θέματα που αφορούν τον SQL Server (7.0, 2000, 2005) αλλά και Oracle, Access, DB2, MySQL, κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Κόψιμο τόνων από Varchar στήλη</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/33492.aspx</link><pubDate>Tue, 10 Jul 2007 18:51:21 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:33492</guid><dc:creator>vtops</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/33492.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=33492</wfw:commentRss><description>&lt;P&gt;Ευχαριστώ πολύ παιδιά το&amp;nbsp;η απάντηση σας ήταν&amp;nbsp;πάρα πολύ χρήσιμη.&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: Κόψιμο τόνων από Varchar στήλη</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/33491.aspx</link><pubDate>Tue, 10 Jul 2007 18:32:57 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:33491</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/33491.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=33491</wfw:commentRss><description>Να συμπληρώσω κι εγώ ότι το CS στο Greek_CS_AS σημαίνει Case Sensitive. Αν ρίξεις μια ματιά στις ιδιότητες της βάσης σου θα δεις ότι χρησιμοποιεί κάποιο collation που γράφει CI (πιθανότατα το Greek_CI_AI), δηλαδή case insensitive. By default οι βάσεις δημιουργούνται ως case insensitive.&lt;br&gt;</description></item><item><title>Απ: Κόψιμο τόνων από Varchar στήλη</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/33490.aspx</link><pubDate>Tue, 10 Jul 2007 18:26:18 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:33490</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/33490.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=33490</wfw:commentRss><description>&lt;P&gt;Χρειάζεται να κατανοήσεις το θέμα του &lt;A href="http://msdn2.microsoft.com/en-us/library/ms187582.aspx"&gt;Collation&lt;/A&gt; στον SQL Server. Υποθέτω ότι τον έχεις σετάρει ως Case Insensitive, οπότε μπορεί να αποθηκεύει σωστά τα κεφαλαία και τα πεζά αλλά στα string operations τα θεωρεί ίδια. Όταν συμβαίνει αυτό, μπορούμε να κάνουμε override αυτή τη συμπεριφορά χρησιμοποιώντας το COLLATE clause στα διάφορα TSQL statements. Θα πρέπει λοιπόν να αλλάξεις το κάθε REPLACE statement και να το κάνεις κάπως έτσι:&lt;/P&gt;
&lt;P&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:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;SET&lt;/SPAN&gt; @&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:fuchsia;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;STR&lt;/SPAN&gt;=&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:fuchsia;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;REPLACE&lt;/SPAN&gt;(@&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:fuchsia;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;STR&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;COLLATE&lt;/SPAN&gt; Greek_CS_AS,&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;'ά'&lt;/SPAN&gt;,&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;'α'&lt;/SPAN&gt; )&lt;/SPAN&gt;&lt;/P&gt;</description></item><item><title>Κόψιμο τόνων από Varchar στήλη</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/33489.aspx</link><pubDate>Tue, 10 Jul 2007 17:46:26 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:33489</guid><dc:creator>vtops</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/33489.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=33489</wfw:commentRss><description>&lt;P&gt;Καλημέρα σε όλους,&lt;/P&gt;
&lt;P&gt;Προσπαθώ να φτιάξω μια συνάρτηση σε SQL SERVER 2000 η οποία θα παίρνει μια ελληνική λέξη και θα επιστρέφει την ίδια λέξη χωρίς τους τόνους.&lt;/P&gt;
&lt;P&gt;Σύνταξα λοιπόν διαδοχικές replace με&amp;nbsp; όλα τα φωνήεντα της Ελληνικής αλφαβήτα για τα μικρά και τα κεφαλαία.&lt;/P&gt;
&lt;P&gt;CREATE Function dbo.F_CutGreekTones(@STR&amp;nbsp; varchar(8000) )&lt;BR&gt;RETURNS VARCHAR(8000)&lt;BR&gt;AS&lt;BR&gt;BEGIN&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;-- Για τα μικρά τονισμένα &lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,'ά','α')&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,'έ','ε')&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,'ή','η')&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,'ί','ι')&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,'ό','ο')&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,'ύ','υ')&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,'ώ','ω')&lt;/P&gt;
&lt;P&gt;&amp;nbsp;-- Για τα Κεφαλαία τονισμένα &lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,'Ά','Α')&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,'Έ','Ε')&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,'Ή','Η')&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,'Ί','Ι')&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,'Ό','Ο')&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,'Ύ','Υ')&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,'Ώ','Ω')&lt;/P&gt;
&lt;P&gt;&amp;nbsp;return @str&lt;BR&gt;END&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Το πρόβλημα λοιπόν με την παραπάνω Function είναι πως αν έρθει μια λέξη η οποία τονίζεται για παράδειγμα ένα κεφαλαίο γράμμα θα το γυρίσει στο αντίστοιχο μικρό άτονο πχ&amp;nbsp; αν την καλέσω σαν: select dbo..F_CutGreekTones('ΑνανΆς') θα γυρίσει 'Ανανας' αντί ΑνανΑς που θέλω να κάνει.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Σκέφτηκα λοιπόν αντί να κάνω αντκατάσταση απευθείας του χαρακτήρες να το κάνω με Ascci κωδικούς όπου το Ά είναι διαφορετικό από ά&lt;/P&gt;
&lt;P&gt;αλλά εξακολουθώ να έχω το ίδιο πρόβλημα&lt;/P&gt;
&lt;P&gt;CREATE Function dbo.F_CutGreekTones(@STR&amp;nbsp; varchar(8000) )&lt;BR&gt;RETURNS VARCHAR(8000)&lt;BR&gt;AS&lt;BR&gt;BEGIN&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;-- Για τα μικρά τονισμένα &lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,CHAR(220),CHAR(225))&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,CHAR(221),CHAR(229))&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,CHAR(222),CHAR(231))&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,CHAR(223),CHAR(233))&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,CHAR(252),CHAR(239))&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,CHAR(253),CHAR(245))&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,CHAR(254),CHAR(249))&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;-- Για τα Κεφαλαία τονισμένα &lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,CHAR(162),CHAR(193))&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,CHAR(184),CHAR(197))&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,CHAR(185),CHAR(199))&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,CHAR(186),CHAR(201))&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,CHAR(188),CHAR(207))&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,CHAR(190),CHAR(213))&lt;BR&gt;&amp;nbsp;SET @STR=REPLACE(@STR,CHAR(191),CHAR(217))&lt;/P&gt;
&lt;P&gt;&amp;nbsp;return @str&lt;BR&gt;END&lt;/P&gt;
&lt;P&gt;Ευχαριστώ πάρα πολύ!&lt;/P&gt;</description></item></channel></rss>