Trang 1 / 2 12 LastLast
Hiển thị kết quả từ 1 đến 10 / 17
  1. #1
    Tham gia
    18-03-2003
    Bài viết
    93
    Like
    0
    Thanked 0 Times in 0 Posts

    hàm if trong câu lệnh select

    chào các bạn.
    hiện mình đang có 1 yêu cầu mà chưa biết phải làm sao.
    có cách nào xuất giá trị trong câu select ra theo điều kiện:
    giá trị > 0 ===> giá trị, nếu không thì xuất ra 0.
    bên MS SQL thì mình dùng iif để làm, còn oracle có lệnh nào tương đương không vậy các bạn,
    thanks
    Quote Quote

  2. #2
    Tham gia
    18-12-2003
    Location
    TP.HCM
    Bài viết
    1,257
    Like
    13
    Thanked 27 Times in 18 Posts
    bên oracle dùng DECODE, bạn lên google gõ DECODE Oracle xem kết quả nhé

  3. #3
    Tham gia
    18-03-2003
    Bài viết
    93
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi MichaelTuanAnh View Post
    bên oracle dùng DECODE, bạn lên google gõ DECODE Oracle xem kết quả nhé
    mình thử dùng DECODE rồi, nhưng DECODE chỉ cho ra kết quả với chuỗi thôi, không dùng so sánh được, thanks

  4. #4
    Tham gia
    18-03-2003
    Bài viết
    93
    Like
    0
    Thanked 0 Times in 0 Posts
    hiện tại đã giải quyết được = cách kết hợp DECODE với SIGN, nhưng còn cách nào khác k vậy các bạn?

  5. #5
    Tham gia
    28-03-2006
    Bài viết
    34
    Like
    0
    Thanked 1 Time in 1 Post
    Còn 1 cách khác tớ hay dùng là viết 1 thủ tục select ... into X ...
    If x > 0 then
    ....
    Else
    ....

  6. #6
    Tham gia
    18-03-2003
    Bài viết
    93
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi lotomo View Post
    Còn 1 cách khác tớ hay dùng là viết 1 thủ tục select ... into X ...
    If x > 0 then
    ....
    Else
    ....
    chưa rõ lắm, viết PL ah,
    ai giải thích dùm mình cái

  7. #7
    Tham gia
    26-05-2004
    Bài viết
    199
    Like
    0
    Thanked 0 Times in 0 Posts
    Câu lệnh như sau:
    select decode (A+ABS(A),0,0, A) from dual

  8. #8
    Tham gia
    18-04-2005
    Location
    Hà Nội
    Bài viết
    15
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi Nobboo View Post
    chào các bạn.
    hiện mình đang có 1 yêu cầu mà chưa biết phải làm sao.
    có cách nào xuất giá trị trong câu select ra theo điều kiện:
    giá trị > 0 ===> giá trị, nếu không thì xuất ra 0.
    bên MS SQL thì mình dùng iif để làm, còn oracle có lệnh nào tương đương không vậy các bạn,
    thanks
    Dùng Case ... When đi, mẫu lệnh như sau:

    CASE { WHEN boolean_expression THEN {statement;} ... }...
    [ ELSE {statement;}... ]
    END CASE [ label_name ];

    Ví dụ

    CASE
    WHEN salary >= 10000 AND salary <=20000 THEN
    give_bonus(employee_id, 1500);
    WHEN salary > 20000 AND salary <= 40000 THEN
    give_bonus(employee_id, 1000);
    WHEN salary > 40000 THEN
    give_bonus(employee_id, 500);
    ELSE
    give_bonus(employee_id, 0);
    END CASE;

  9. #9
    Tham gia
    08-08-2006
    Bài viết
    327
    Like
    0
    Thanked 0 Times in 0 Posts
    http://infolab.stanford.edu/~ullman/.../or-plsql.html
    bạn dùng cái này coi, hình như ỏacle cũng có if mà. D(úng ko nhỉ??

  10. #10
    Tham gia
    18-03-2003
    Bài viết
    93
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi minhquan1712 View Post
    http://infolab.stanford.edu/~ullman/.../or-plsql.html
    bạn dùng cái này coi, hình như ỏacle cũng có if mà. D(úng ko nhỉ??
    thanks, mình hỏi về câu lệnh select chứ mình k muốn dùng PL

Trang 1 / 2 12 LastLast

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •