διαβάζοντας ένα varchar πεδίο

Συζητήσεις για τον Microsoft SQL Server

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

διαβάζοντας ένα varchar πεδίο

Δημοσίευση από txc » 01 Απρ 2010 02:11

καλησπέρα παιδιά, μια ερώτηση, θέλω να διαβάσω ένα πεδίο και ανάλογα με το τρίτο γράμμα από το τέλος να κάνω διακρίσεις σχετικά με το τι θα εμφανίζω

για να γίνω πιο κατανοητός, ας πούμε ότι έχω τη λέξη "τεστ" αν το τρίτο γράμμα από το τέλος είναι ε (όπως και είναι) να εμφανίζω τον αριθμό 0 αλλιώς το 1

πως μπορώ να διαβάζω μια λέξη σε sql?
ευχαριστώ

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

διαβάζοντας ένα varchar πεδίο

Δημοσίευση από dva_dev » 01 Απρ 2010 04:12

Κοίταξε για τα wildcards και το like με το patindex ή το len με το substring ή to charindex στο msdn για transact sql (tsql) ή στα sql server books online

txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

διαβάζοντας ένα varchar πεδίο

Δημοσίευση από txc » 01 Απρ 2010 10:40

ευχαριστώ για την απάντηση, το πρόβλημά μου είναι ότι δεν ήξερα πως να το ψάξω
βρήκα ένα παράδειγμα που μπορεί να βοηθήσει και άλλους που έχουν το ίδιο πρόβλημα :

select *
FROM test
WHERE test_cd LIKE '__A__';

το συγκεκριμένο αγνοεί τα πρώτα δύο ψηφία και ψάνει για λέξεις που το τρίτο γράμμα από δεξιά είναι Α

ευχαριστώ

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

διαβάζοντας ένα varchar πεδίο

Δημοσίευση από dva_dev » 01 Απρ 2010 16:49

Αυτό που έγραψες ψάχνει για strings με 5 χαρακτήρες που ο τρίτος είναι Α.
Μάλλον το LIKE "%A__" ταιριάζει περισσότερο.

txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

διαβάζοντας ένα varchar πεδίο

Δημοσίευση από txc » 04 Απρ 2010 05:30

σωστός
τώρα ψάχνω τρόπο να κάνω το διαχωρισμό μέσα στο select πριν το where όπως είναι τώρα
ο λόγος?έχω μια stored procedure στην οποία διαλέγω και εμφανίζω διάφορα πεδία απο πίνακες, οπότε ανάλογα το 3 γράμμα μιας λέξης θέλω να εμφανίζω διαφορετικό σύμβολο και θέλω να το κάνω εκτός του where

Άβαταρ μέλους
georiege
Δημοσιεύσεις: 79
Εγγραφή: 09 Ιούλ 2007 11:29
Επικοινωνία:

διαβάζοντας ένα varchar πεδίο

Δημοσίευση από georiege » 06 Απρ 2010 15:52

Καλησπέρα και χρόνια πολλά !

Γίνετε με τον παρακάτω τρόπο :


SELECT 'TEST' AS ARXIKI, APOTELESMA =
CASE LEFT(RIGHT('TEST', 3) , 1)
WHEN 'E' THEN 'EINAI TO GRAMMA E'
WHEN 'A' THEN 'EINAI TO GRAMMA A'
WHEN 'R' THEN '0'
WHEN 'W' THEN '1'
ELSE 'EDO MPENEI OTIDIPOTE' END


Οτιδήποτε απορία έχεις κανε post ξανά.
I do this for Aiur

http://www.aspx.gr

Απάντηση

Επιστροφή στο “MS SQL Server”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες